Как изменить размер фотографии, полученной с веб-сайта в окне Tkinter? - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь получить окно tkinter, в котором отображаются несколько фотографий, которые можно выбрать. Я продолжаю сталкиваться с ошибкой «Объект PhotoImage» не имеет атрибута «resize», но все руководства и форумы, которые я просматривал, имеют одинаковый код. Как изменить размер изображения, полученного с веб-сайта?

url="https://cdn.fileviewerplus.com/img/icon/256/cr2-52.png"
u=urllib.request.urlopen(url)
raw_data=u.read()
u.close()
b64_data = base64.encodestring(raw_data)
photo = tk.PhotoImage(data=b64_data)
image=photo.resize((100,100),Image.ANTIALIAS)

1 Ответ

2 голосов
/ 24 марта 2020

Кажется, вы пытаетесь использовать методы, встроенные в подушку. Вы можете импортировать файл как файл изображения подушки и затем использовать resize. Затем используйте его в своей среде tkinter.

from PIL import Image, ImageTk

url = 'https://cdn.fileviewerplus.com/img/icon/256/cr2-52.png'
u = urllib.request.urlopen(url)
img = Image.open(u)
img = img.resize((100, 100), Image.ANTIALIAS)
image = ImageTk.PhotoImage(img)

Также, как поймал @ acw1668, вы должны использовать ImageTk из подушки здесь.

...