从重定向的URL获取JPEG图像并在GUI窗口中显示
我正在尝试从一个网址下载一个JPEG图片,并在tkinter的图形界面窗口中显示它。
这是我用来下载和显示JPEG图片的代码:
picURL = "https://graph.facebook.com/" + ID + "/picture"
picBytes= urlopen(picURL).read()
picData = io.BytesIO(picBytes)
picPil = Image.open(picData)
picTk = ImageTk.PhotoImage(picPil)
label_9 = Label(image = picTK, bg = "blue").pack()
问题是图片没有显示出来。我看到的只是一个蓝色的框。怎么才能让图片显示出来呢?
谢谢!
我在Windows上使用的是Python 3.3。
2 个回答
0
试试用Tkinter
import Tkinter
import Image, ImageTk
#open image and convert to byte format
im = Image.open('photo.jpg').convert2byte()
root = Tkinter.Tk()
tkimage = ImageTk.PhotoImage(im)
Tkinter.Label(root, image=tkimage).pack()
root.mainloop()
另外,可以看看一个相关的问题 在图形界面中显示图片
2
你在用什么库来访问图片呢?我推荐你使用requests这个库。它会自动帮你处理重定向的问题:
import requests
import Image
from StringIO import StringIO
r = requests.get(https://graph.facebook.com/userID/picture)
im = Image.open(StringIO(r.content))