@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).