是否有Python PIL的抗锯齿方法?

whi*_*whi 14 python antialiasing python-imaging-library

对于PIL中的线条和椭圆,图像很粗糙.

我只在resize和缩略图中找到了抗锯齿.

绘制直线或椭圆时有没有办法做抗锯齿?

Mar*_*som 22

本机化的唯一方法是使用超级采样.以您需要的倍数渲染图像,然后resize使用filter=Image.ANTIALIAS.

  • 是的,我使用*2然后调整大小为/ 2.有用. (4认同)
  • @Hugo:在当前稳定版本的 [`Image.resize()`](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.resize) 方法中`PIL` 的枕头叉,关键字参数名为 `resample`。这可能已在 [版本 2.7.0](https://pillow.readthedocs.io/en/stable/releasenotes/2.7.0.html?highlight=ANTIALIAS#image-resizing-filters) 中进行了更改。另请注意,“Image.LANCZOS”[是同一件事](https://pillow.readthedocs.io/en/stable/_modules/PIL/Image.html?highlight=ANTIALIAS) 与“Image.ANTIALIAS”——它不是该方法的文档中没有提及。 (2认同)
  • `img.resize((width, height), Image.ANTIALIAS)` 对我有用。谢谢 ! (2认同)

小智 6

aggdraw ( http://effbot.org/zone/aggdraw-index.htm ) 可能是您感兴趣的东西。

aggdraw 模块在 AGG 库之上实现基本的 WCK 2D 绘图接口。该库提供高质量的绘图,具有抗锯齿和 Alpha 合成功能,同时与 WCK 渲染器完全兼容。

aggdraw 模块可以与 PIL 或 WCK 库(在 Tkinter 或本机 Windows 下)一起使用。它也可以用作独立的库。