从重定向的URL获取JPEG图像并在GUI窗口中显示

0 投票
2 回答
1881 浏览
提问于 2025-04-17 19:05

我正在尝试从一个网址下载一个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))

撰写回答