2013-12-23 142 views
11

我想畫一個簡單的循環,這節省使用Python圖像庫文件:Python的PIL - 繪製圓

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, y1, x2, y2),其中x1 <= x2y1 <= y2,那些對,(x1, y1)(x2, y2),分別代表左上角和外接矩形的右下角。

嘗試改變

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

enter image description here