Python PIL - 画圆[重复]
Posted
技术标签:
【中文标题】Python PIL - 画圆[重复]【英文标题】:Python PIL - Draw Circle [duplicate] 【发布时间】:2014-01-11 21:31:07 【问题描述】:我正在尝试绘制一个简单的圆圈并将其保存到使用 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
(我认为模式可能会影响显示的内容),但这并没有解决问题。
我该如何解决这个问题?谢谢!
【问题讨论】:
【参考方案1】:不指定右上和左下坐标,而是交换它们以获得左上和右下。
draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')
【讨论】:
啊,我没想到会有区别。谢谢! @F3AR3DLEGEND,文档在这个主题上相当安静,不是吗?它提到的只是一个边界框,你会认为框的任何角落都可以。 是的。我认为任何一对对角都可以,但显然不行。【参考方案2】:您的省略号坐标不正确,应该是(x1, y1, x2, y2)
,其中x1 <= x2
和y1 <= y2
,因为这对(x1, y1)
和(x2, y2)
分别代表封闭矩形的左上角和右下角。
尝试改成
draw.ellipse((20, 20, 180, 180), fill = 'blue', outline ='blue')
【讨论】:
以上是关于Python PIL - 画圆[重复]的主要内容,如果未能解决你的问题,请参考以下文章