web-dev-qa-db-ja.com

Python、PILで円を描く

PILを使用して既存の画像に円を描くコマンドを探しています。

im = Image.open(path)

半径rおよび中心(x,y)の色付きの円を描画する関数が必要です

16
ariel
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
leftUpPoint = (x-r, y-r)
rightDownPoint = (x+r, y+r)
twoPointList = [leftUpPoint, rightDownPoint]
draw.ellipse(twoPointList, fill=(255,0,0,255))

公式ドキュメントを参照してください: PIL.ImageDraw.ImageDraw.ellipse(xy、fill = None、outline = None、width = 0)

24
John La Rooy

ImageDraw.ellipse を(0,0,10,10)のような正方形のbboxで使用します。これは、直径10を意味します。

7
YOU
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

3
user3086375
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))

この方法を使用すると、半透明にすることはできません。常に不透明です。

3
sid8491