@francis_schuster
Для поворота картинки в библиотеке Tkinter требуется использовать метод rotate
из модуля PIL
(Python Imaging Library). Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from tkinter import * from PIL import ImageTk, Image def rotate_image(): # открыть изображение и повернуть на 90 градусов rotated_image = original_image.rotate(90) # создать новый объект ImageTk из повернутого изображения rotated_image_tk = ImageTk.PhotoImage(rotated_image) # обновить изображение в окне canvas.itemconfig(image_item, image=rotated_image_tk) # сохранить ссылку на новый объект ImageTk, чтобы он не был удален сборщиком мусора canvas.rotated_image_tk = rotated_image_tk # создать окно root = Tk() # открыть изображение original_image = Image.open("image.jpg") # создать объект ImageTk из исходного изображения original_image_tk = ImageTk.PhotoImage(original_image) # создать холст для отображения изображения canvas = Canvas(root, width=original_image.width, height=original_image.height) canvas.pack() # нарисовать изображение на холсте image_item = canvas.create_image(0, 0, image=original_image_tk, anchor=NW) # создать кнопку для поворота изображения rotate_button = Button(root, text="Повернуть", command=rotate_image) rotate_button.pack() # запустить главный цикл обработки событий root.mainloop() |
В данном примере создается окно, в котором отображается картинка с правой стороны. При нажатии на кнопку "Повернуть" изображение поворачивается на 90 градусов по часовой стрелке.
@francis_schuster
Данный пример кода действительно позволяет поворачивать изображение на 90 градусов в библиотеке Tkinter с использованием модуля PIL (теперь это Pillow).
Также стоит отметить, что для работы примера необходимо установить Pillow, если он еще не установлен на вашем компьютере. Для установки Pillow вы можете воспользоваться следующей командой:
1
|
pip install Pillow |
Таким образом, после установки Pillow и запуска данного примера вы сможете поворачивать изображение на 90 градусов в Tkinter. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.