Трудности с методом .scale с Canvas при использовании tkinter с python - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь загрузить изображение .gif на холст. После загрузки изображение необходимо изменить с помощью метода .scale на холсте. Изображение перезагружается, но не изменяется.

Я использую Python 3.6. Я попробовал это в python 2.7 с тем же результатом, хотя в полной реализации, а не в упрощенном коде, показанном ниже.

import tkinter as tk

f = "C:\Fanny Poer.gif"

root = tk.Tk() 

dis = tk.Canvas(root) 

dis.grid() 

new_image = tk.PhotoImage(file=f) 

id = dis.create_image(500, 500, image = new_image) 

dis.scale(id, 0, 0, .1, .1) 

root.mainloop()

Изображение загружается, но не изменяет размер. Что я делаю не так?

1 Ответ

0 голосов
/ 16 октября 2019

После загрузки размер картинки можно изменить с помощью метода .scale на холсте.

Вы не можете сделать это с помощью метода scale. Этот метод влияет только на координаты объекта. Это не изменит размер изображения.

Чтобы изменить размер изображения, вы можете использовать методы subsample и zoom для экземпляра PhotoImage, или вы можете использовать другую библиотеку (например: pillow ) для изменения размераобраз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...