web-dev-qa-db-ja.com

Python PIL-円を描く

単純な円を描き、これをPython Imaging Libraryを使用してファイルに保存しようとしています。

import Image, ImageDraw

image = Image.new('RGBA', (200, 200))
draw = ImageDraw.Draw(image)
draw.ellipse((20, 180, 180, 20), fill = 'blue', outline ='blue')
draw.point((100, 100), 'red')
image.save('test.png')

ポイント draw.pointは画像に表示されますが、楕円自体は表示されません。モードを単にRGBに変更してみました(モードが表示内容に影響を与える可能性があると思いました)が、これで解決しませんでした。

どうすれば修正できますか?ありがとう!

13
Rushy Panchal

右上と左下の座標を指定する代わりに、座標を入れ替えて左上と右下を取得します。

draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')
15
Mark Ransom

楕円座標が正しくありません。(x1, y1, x2, y2)、 どこ x1 <= x2およびy1 <= y2、それらのペアとして、(x1, y1)および(x2, y2)、囲んでいる長方形の左上隅と右下隅をそれぞれ表します。

に変更してみてください

draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')

enter image description here

5
alko