【发布时间】:2016-10-19 17:21:43
【问题描述】:
我正在尝试将使用 PIL 调整大小的图像放置在 tkinter.PhotoImage 对象中。
import tkinter as tk # I use Python3
from PIL import Image, ImageTk
master = tk.Tk()
img =Image.open(file_name)
image_resized=img.resize((200,200))
photoimg=ImageTk.PhotoImage(image_resized)
但是,当我稍后尝试调用时
photoimg.put( "#000000", (0,0) )
我得到一个
AttributError: 'PhotoImage' object has no attribute 'put'
此时:
photoimg=tk.PhotoImage(file=file_name)
photoimg.put( "#000000", (0,0))
不会引发错误。 我做错了什么?
【问题讨论】:
-
你看过他们的实现了吗?它们不是相同的
PhotoImage类。他们没有相同的实现。您必须确定要使用哪一个,并根据该类的实现方式来实现目标。 -
哦,谢谢,这就解释了。有没有办法将
ImageTk.Photoimage对象转换为tkinter.Photoimage对象,还是我必须先保存 PIL 图像,然后通过文件名将其加载到 tkinter.PhotoImage 中? -
我从来没有使用过这些模块中的任何一个。我只是查看了每个代码,发现它们是不同的。您必须查看文档以查看您的选择。看看刚刚发布的答案。提供了信息。
标签: python tkinter python-imaging-library photoimage