【问题标题】:Python PIL - Draw Circle [duplicate]Python PIL - 画圆[重复]
【发布时间】: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(我认为模式可能会影响显示的内容),但这并没有解决问题。

我该如何解决这个问题?谢谢!

【问题讨论】:

    标签: python python-imaging-library imaging


    【解决方案1】:

    不指定右上和左下坐标,而是交换它们以获得左上和右下。

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

    【讨论】:

    • 啊,我没想到会有区别。谢谢!
    • @F3AR3DLEGEND,文档在这个主题上相当安静,不是吗?它提到的只是一个边界框,你会认为框的任何角落都可以。
    • 是的。我认为任何一对对角都可以,但显然不行。
    【解决方案2】:

    您的省略号坐标不正确,应该是(x1, y1, x2, y2),其中x1 <= x2y1 <= y2,因为这对(x1, y1)(x2, y2) 分别代表封闭矩形的左上角和右下角。

    尝试改成

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

    【讨论】:

      猜你喜欢
      • 2011-02-28
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多