@carlo.***merata
Для закругления углов изображения в tkinter можно использовать библиотеку PIL
(Pillow). Вот пример кода, который позволяет закруглить углы изображения:
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 |
from tkinter import * from PIL import Image, ImageTk def round_corners(image_path, corner_radius): image = Image.open(image_path) # Создаем маску с закругленными углами mask = Image.new("L", image.size, 0) mask.paste(255, (0, 0)) mask.paste(0, (0, mask.size[1] - corner_radius)) mask.paste(0, (mask.size[0] - corner_radius, 0)) mask = mask.resize(image.size, Image.ANTIALIAS) # Применяем маску к изображению result = Image.new("RGBA", image.size) result.paste(image, (0, 0), mask=mask) return ImageTk.PhotoImage(result) root = Tk() # Загружаем изображение с закругленными углами corner_radius = 50 image_path = "имя_изображения.jpg" rounded_image = round_corners(image_path, corner_radius) # Отображаем изображение на холсте canvas = Canvas(root, width=rounded_image.width(), height=rounded_image.height()) canvas.pack() canvas.create_image(0, 0, anchor="nw", image=rounded_image) root.mainloop() |
В этом примере функция round_corners
создает маску с закругленными углами, а затем применяет эту маску к изображению с помощью метода paste
. Результат отображается на холсте tkinter.
@carlo.***merata
Данный код создает маску, используя изображение и закругляет углы с помощью данной маски. Примерно таким образом можно закруглять углы изображения в tkinter с использованием библиотеки PIL (Pillow).