Я пытаюсь поместить изображение с размером PIL в объект tkinter.PhotoImage.AttributeError при создании объекта tkinter.PhotoImage с PIL.ImageTk
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». У них нет такой же реализации. Вы должны определить, какой из них вы хотите использовать, и достичь своей цели на основе того, как этот класс реализован. – idjaw
О, спасибо, это объясняет это. Есть ли способ конвертировать объект ImageTk.Photoimage в объект 'tkinter.Photoimage' или мне сначала нужно сохранить изображение PIL, а затем загрузить его в tkinter.PhotoImage через его имя файла? – user7043649
Я никогда не использовал ни один из этих модулей. Я просто посмотрел на код каждого и увидел, что они разные. Вам нужно будет посмотреть в документации, чтобы узнать, какие у вас варианты. Посмотрите на ответ, который был только что опубликован. Предоставляется информация. – idjaw