gpt4 book ai didi

python - 从 URL 读取图像、调整其大小并应用抗锯齿

转载 作者:行者123 更新时间:2023-12-01 02:25:36 28 4
gpt4 key购买 nike

我正在尝试调整之前在 Tkinter 中显示的图像的大小并应用抗锯齿功能。我正在从网址读取它。问题是,我用 tkinter.PhotoImage 打开图像,而我需要的 resize() 函数在 PIL.Image 中。我想知道是否有办法从一种方法转换为另一种方法,或者可以通过其他方式解决此问题。

代码如下:

import tkinter
from urllib.request import urlopen
import base64
from PIL import Image

window = tkinter.Tk()

url = "https://s.yimg.com/os/weather/1.0.1/shadow_icon/60x60/partly_cloudy_night@2x.png"
b64_data = base64.encodestring(urlopen(url).read())
image = tkinter.PhotoImage(data=b64_data)

# Function I need:
#image = image.resize((100, 100), Image.ANTIALIAS)

label = tkinter.Label(image=image)
label.pack()

window.mainloop()

如果有一种完全不同的方法可以实现这一目标,我很想听听。

最佳答案

好吧,那么你首先使用 PIL,然后使用 PIL 的 TKinter Format 将其转换为 TKinter Image。我的系统上没有 urllib,因此我使用了 Requests,但这部分应该是可以交换的。

import tkinter
import base64
from PIL import Image, ImageTk

import requests
from PIL import Image
from StringIO import StringIO
url = "https://s.yimg.com/os/weather/1.0.1/shadow_icon/60x60/partly_cloudy_night@2x.png"
r = requests.get(url)
pilImage = Image.open(StringIO(r.content))
pilImage.resize((100, 100), Image.ANTIALIAS)

window = tkinter.Tk()


image = ImageTk.PhotoImage(pilImage)

label = tkinter.Label(image=image)
label.pack()

window.mainloop()

有一整页专门用于 PIL 和 Tkinter:http://effbot.org/tkinterbook/photoimage.htm

关于python - 从 URL 读取图像、调整其大小并应用抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47442051/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com