如何在Python中的tk标签上从网页显示png文件...

codeday· 2019-10-14
本文来自 codeday ,作者 codeday
我是python的新手,并且在Windows 7 64位和python 3.3上.我可以使用以下代码显示gif图像.但是我不能使其与png文件一起使用.怎么做?谢谢.

import urllib
import urllib.request
import tkinter as tk
root = tk.Tk()
url = "http://www.baidu.com/img/bdlogo.gif"
u = urllib.request.urlopen(url)
raw_data = u.read()
u.close()
import base64
b64_data = base64.encodestring(raw_data)
image = tk.PhotoImage(data=b64_data)
label = tk.Label(image=image)
label.pack()
最佳答案
您应该使用PIL(或枕头).您可以找到枕形窗户二进制here.

安装枕头后,请尝试以下示例:

from io import BytesIO
import urllib
import urllib.request
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
url = "http://imgs.xkcd.com/comics/python.png"
with urllib.request.urlopen(url) as u:
    raw_data = u.read()
im = Image.open(BytesIO(raw_data))
image = ImageTk.PhotoImage(im)
label = tk.Label(image=image)
label.pack()
root.mainloop()