图片未在 Python、Tkinter、PIL 中呈现
Image not Rendering in Python, Tkinter, PIL
PIL 照片未渲染
代码:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
def resize_image(file_dir):
full_dir = f'{file_dir}'
unresized_pic = Image.open(full_dir)
resized = unresized_pic.resize((100, 300), Image.ANTIALIAS)
final_pic = ImageTk.PhotoImage(resized)
return final_pic
root.geometry('500x500')
# photo = PhotoImage(file='assests/forest01.png')
my_picture = Label(root, image=resize_image('assests/forest01.png'))
my_picture.pack()
root.mainloop()
resized_image()
函数在调用时应该 return 调整大小的图片,但是它不起作用。我该如何解决?
改为如下使用:
编辑:有关为什么这在函数中不起作用的参考,请参阅here,正如@Cool Cloud 所指出的。离开函数后,照片“是一个被垃圾收集的局部变量”。
photo = resize_image('assests/forest01.png')
my_picture = Label(root, image=photo)
PIL 照片未渲染
代码:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
def resize_image(file_dir):
full_dir = f'{file_dir}'
unresized_pic = Image.open(full_dir)
resized = unresized_pic.resize((100, 300), Image.ANTIALIAS)
final_pic = ImageTk.PhotoImage(resized)
return final_pic
root.geometry('500x500')
# photo = PhotoImage(file='assests/forest01.png')
my_picture = Label(root, image=resize_image('assests/forest01.png'))
my_picture.pack()
root.mainloop()
resized_image()
函数在调用时应该 return 调整大小的图片,但是它不起作用。我该如何解决?
改为如下使用:
编辑:有关为什么这在函数中不起作用的参考,请参阅here,正如@Cool Cloud 所指出的。离开函数后,照片“是一个被垃圾收集的局部变量”。
photo = resize_image('assests/forest01.png')
my_picture = Label(root, image=photo)