2013-12-23 6 views
11

を描く:PythonのPIL - 私は、単純な円を描くとPythonイメージングライブラリを使用してファイルにこれを保存しようとしているサークル

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(私はモードが表示されるものに影響を与えるかもしれないと思った)にモードを変更しようとしましたが、これはそれを解決しませんでした。

どうすればこの問題を解決できますか?ありがとう!

答えて

11

に変更する

しようとすると、右上の左と下を得るためにそれらを交換。

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

ああ、私は違いがあるとは思わなかった。ありがとう! –

+0

@ F3AR3DLEGEND、ドキュメントはかなり静かですが、それはそうではありませんか?それが言い表すのはバウンディングボックスなので、ボックスのどのコーナーにも当てはまると思います。 –

+0

私は反対のコーナーのペアが動作すると思ったが、明らかにそうではなかった。 –

4

あなたの省略記号座標が間違っている、すなわち、x1 <= x2y1 <= y2、これらのペアとして、(x1, y1)(x2, y2)(x1, y1, x2, y2)、でなければならないそれぞれの四角形を囲むの左上と右下の角を表します。代わりに、右上と左下の座標を指定する

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

enter image description here

関連する問題

 関連する問題