Python Tkinter: как нарисовать круг с помощью виджета Canvas и PIL

Чтобы нарисовать круг с помощью библиотеки Tkinter в Python, вы можете использовать следующие методы:

Метод 1. Использование виджета Canvas

  • Создайте окно Tkinter.
  • Добавьте в окно виджет Canvas.
  • Используйте метод create_oval()виджета Canvas, чтобы нарисовать круг.

Вот пример фрагмента кода:

import tkinter as tk
window = tk.Tk()
canvas = tk.Canvas(window, width=400, height=400)
canvas.pack()
# Draw a circle with center coordinates (200, 200) and radius 100
canvas.create_oval(100, 100, 300, 300, outline='black')
window.mainloop()

Метод 2: использование PIL (библиотеки изображений Python)

  • Установите библиотеку PIL с помощью pip install Pillow.
  • Создайте окно Tkinter.
  • Импортируйте модуль ImageTkиз PIL.
  • Откройте новое изображение с помощью модуля Imageиз PIL.
  • Нарисуйте круг на изображении, используя модуль ImageDrawиз PIL.
  • Используйте модуль ImageTk, чтобы преобразовать изображение и отобразить его на холсте Tkinter.

Вот пример фрагмента кода:

import tkinter as tk
from PIL import Image, ImageTk, ImageDraw
window = tk.Tk()
canvas = tk.Canvas(window, width=400, height=400)
canvas.pack()
# Create a new image and draw a circle
image = Image.new('RGB', (400, 400), 'white')
draw = ImageDraw.Draw(image)
draw.ellipse((100, 100, 300, 300), outline='black')
# Convert the image and display it on the canvas
image_tk = ImageTk.PhotoImage(image)
canvas.create_image(0, 0, image=image_tk, anchor=tk.NW)
window.mainloop()