Питон, нарисуй круг с PIL - PullRequest
16 голосов
/ 05 июня 2010

Я ищу команду, которая нарисует круг на существующем изображении с помощью PIL.

im = Image.open(path)

Мне нужна функция, которая нарисует цветной круг с радиусом r и центром (x,y)

Ответы [ 4 ]

22 голосов
/ 05 июня 2010
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,255))
7 голосов
/ 05 июня 2010

Используйте ImageDraw.ellipse с квадратным bbox-подобным (0,0,10,10), что означает диаметр 10.

3 голосов
/ 01 февраля 2017
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))

используя этот способ, я не могу сделать его прозрачным, он всегда непрозрачный

2 голосов
/ 12 мая 2017
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))

используя этот способ, я не могу сделать его полупрозрачным, он всегда непрозрачен

Эта проблема может быть решена с помощью решения, приведенного здесь: Как рисовать прозрачные многоугольники с помощью Python?

Прямая ссылка: https://stackoverflow.com/a/21768191

...