我正在尝试使用.gif
从我的电脑中选择一张filedialog.askopenfilename()
图片进入画布。如果我:
def
和filedialog
,但我不明白为什么这不起作用...... from tkinter import *
root=Tk()
root.geometry("600x600")
root.config(background="#FFFFFF")
canvas = Canvas(width=200,height=200)
canvas.grid(row=0,column=0)
def create_image():
profileimage = filedialog.askopenfilename()
i = PhotoImage(file=profileimage)
canvas.create_image(0,0,image=i)
b = Button(text="Click", command=create_image).grid(row=1,column=0)
答案 0 :(得分:1)
global i
def create_image(self):
global i
profileimage = filedialog.askopenfilename()
i = ImageTk.PhotoImage(Image.open(profileimage))
canvas.create_image(0,0,image=i)
没有在全局变量中引用图像,图像存储在由垃圾收集器清除的函数的局部变量中。