首页 > 解决方案 > 如何调整从 web url 显示的照片图像的大小

问题描述

from tkinter import PhotoImage, Tk,Label
from urllib.request import urlopen
from PIL import ImageTk,Image

imgurl="https://rukminim1.flixcart.com/image/312/312/kn7sdjk0/mobile/w/h/q/c20-rmx3063-realme-original-imagfxfzay72jqvh.jpeg?q=70"
root= Tk()
data=urlopen(imgurl)
img=ImageTk.PhotoImage(data=data.read())
lbl=Label(root,image=img)
lbl.pack()
root.mainloop()

上面的代码显示了来自 tkinter 标签中的 web url 的图像我想要更改图像的宽度和高度我该怎么做

感谢您提供任何帮助

标签: pythontkinter

解决方案


你可以直接将它传递Image.open()给一个Image对象,得到它之后,你可以resize做你想做的一切:

data  = urlopen(imgurl)

img   = Image.open(data).resize((w,h),Image.ANTIALIAS) # w is width and h is height
imgtk = ImageTk.PhotoImage(img) 

lbl   = Label(root,image=imgtk)

或者如果你想把它分成两行(没有真正的理由):

img = Image.open(data)
img = img.resize((w,h),Image.ANTIALIAS)

Image.ANTIALIAS是要应用的超级采样,因此调整大小的图像不会具有所有锯齿状边缘。


推荐阅读