【问题标题】:Python3 PIL (Pillow) draw.pieslice bad arcPython3 PIL(枕头)draw.pieslice坏弧
【发布时间】:2016-02-15 23:03:49
【问题描述】:

我正在用 PIL 做一个简单的 pieslice

image = Image.new("RGBA", (256, 128), "#DDD")
draw = ImageDraw.Draw(image, image.mode)
draw.pieslice((0, 0 , 64, 64), 180, 270, fill="white)

del draw

image.save("file.png", "PNG")

如您所见,弧线并不完美。如何使用 PIL 制作完美的弧线?

【问题讨论】:

  • 它看起来像素化了...如果将其缩放到更大数量的像素,它看起来会更好吗?
  • 多少合适?
  • 我会说,直到你觉得它看起来不错:)

标签: python python-3.x python-imaging-library


【解决方案1】:

在较大的图像上绘制,然后缩小:

N=4
image = Image.new("RGBA", (256*N, 128*N), "#DDD")
draw = ImageDraw.Draw(image, image.mode)
draw.pieslice((0, 0 , 64*N, 64*N), 180, 270, fill="white")
del draw
image = image.resize((256,128)) # using user3479125's correction
image.save("file2.png", "PNG")

【讨论】:

    【解决方案2】:

    unutbu 回答的注意事项: 现在 resize() 返回一个调整大小的图像副本。所以不会修改原版。所以应该是:

    N=4
    image = Image.new("RGBA", (256*N, 128*N), "#DDD")
    draw = ImageDraw.Draw(image, image.mode)
    draw.pieslice((0, 0 , 64*N, 64*N), 180, 270, fill="white")
    del draw
    image = image.resize((256,128))
    image.save("file2.png", "PNG")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 2020-11-29
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多