需要帮助将 JPG link 转换为 GIF 格式
Need help converting JPG link to GIF format
我正在尝试从网站获取图像以显示在标签小部件上,但 Tkinter 只接受 GIF 和 BMP 格式。我找到的几乎所有图像都是 JPG 或 PNG。
我现在的代码如下:
from urllib import urlopen
from Tkinter import *
from PIL import Image
import Tkinter as tk
root = Tk()
url = "http://www.wired.com/wp-
content/uploads/2015/03/10182025tonedfull-
660x441.jpg"
u = 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()
root.mainloop()
我收到一条错误消息,说它无法识别图像。如果有人知道我该如何解决它,请告诉我。谢谢。
以下应允许您加载 JPG 文件:
from PIL import Image, ImageTk
from cStringIO import StringIO
from urllib import urlopen
from Tkinter import *
from PIL import Image
import Tkinter as tk
root = Tk()
url = "http://www.wired.com/wp-content/uploads/2015/03/10182025tonedfull-660x441.jpg"
u = urlopen(url)
raw_data = u.read()
u.close()
image_file = Image.open(StringIO(raw_data))
photo_image = ImageTk.PhotoImage(image_file)
label = tk.Label(image=photo_image)
label.pack()
root.mainloop()
不需要base64编码,但是需要ImageTk
加载图片。这将显示如下:
您不能将 Jpg 与图像一起使用,您还必须导入 ImageTk
一个非常基本的工作示例可以是:
import io
from PIL import Image, ImageTk
import Tkinter as tk
from urllib2 import urlopen
root = tk.Tk()
url = "http://www.wired.com/wp-content/uploads/2015/03/10182025tonedfull-660x441.jpg"
image_bytes = urlopen(url).read()
data_stream = io.BytesIO(image_bytes)
pil_image = Image.open(data_stream)
tk_image = ImageTk.PhotoImage(pil_image)
label = tk.Label(root, image=tk_image, bg='brown')
label.pack(padx=5, pady=5)
root.mainloop()
我正在尝试从网站获取图像以显示在标签小部件上,但 Tkinter 只接受 GIF 和 BMP 格式。我找到的几乎所有图像都是 JPG 或 PNG。 我现在的代码如下:
from urllib import urlopen
from Tkinter import *
from PIL import Image
import Tkinter as tk
root = Tk()
url = "http://www.wired.com/wp-
content/uploads/2015/03/10182025tonedfull-
660x441.jpg"
u = 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()
root.mainloop()
我收到一条错误消息,说它无法识别图像。如果有人知道我该如何解决它,请告诉我。谢谢。
以下应允许您加载 JPG 文件:
from PIL import Image, ImageTk
from cStringIO import StringIO
from urllib import urlopen
from Tkinter import *
from PIL import Image
import Tkinter as tk
root = Tk()
url = "http://www.wired.com/wp-content/uploads/2015/03/10182025tonedfull-660x441.jpg"
u = urlopen(url)
raw_data = u.read()
u.close()
image_file = Image.open(StringIO(raw_data))
photo_image = ImageTk.PhotoImage(image_file)
label = tk.Label(image=photo_image)
label.pack()
root.mainloop()
不需要base64编码,但是需要ImageTk
加载图片。这将显示如下:
您不能将 Jpg 与图像一起使用,您还必须导入 ImageTk
一个非常基本的工作示例可以是:
import io
from PIL import Image, ImageTk
import Tkinter as tk
from urllib2 import urlopen
root = tk.Tk()
url = "http://www.wired.com/wp-content/uploads/2015/03/10182025tonedfull-660x441.jpg"
image_bytes = urlopen(url).read()
data_stream = io.BytesIO(image_bytes)
pil_image = Image.open(data_stream)
tk_image = ImageTk.PhotoImage(pil_image)
label = tk.Label(root, image=tk_image, bg='brown')
label.pack(padx=5, pady=5)
root.mainloop()