python - 有什么方法可以在 python 中为图像制作漂亮的抗锯齿圆角?

标签 python image-processing python-imaging-library rounded-corners

有什么办法可以用python做漂亮的圆角吗?目前我的项目中使用了 PIL 和 GD2。它们都有一个 arc() 方法,可以让你画一个四分之一圆,但四分之一圆没有抗锯齿,所以图像看起来很脆。

有什么巧妙的方法可以制作抗锯齿/光滑的圆角吗?

最佳答案

我通常做的是使用图像作为 mask ,例如:

边框.png

alt text

border = Image.open('border.png')
source = border.convert('RGB')
img.paste(source, mask=border)

蒙版可以调整大小以适应您想要的尺寸。只需确保使用 Image.ANTIALIAS 方法即可。

可以引用tutorial我前阵子写了更多细节(不要脸的插件)

如果你想更好地控制大小和半径,那么你需要使用弧或饼片。我不了解你,但我用 PIL 创建的这个圆角矩形对我来说看起来足够平滑:

alt text

这里是 the code我曾经画过它

也许你应该检查 phatch:http://photobatch.wikidot.com/tutorials它是用 Python 和 PIL 编写的,可以对照片应用圆角。

alt text

这是用于应用圆角的代码的链接: http://bazaar.launchpad.net/~stani/phatch/trunk/annotate/head:/phatch/actions/round.py

在我看来,这也足够流畅。

关于python - 有什么方法可以在 python 中为图像制作漂亮的抗锯齿圆角?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828345/

相关文章:

python - 如何从 Python 中的混淆矩阵中获取精度、召回率和 f-measure

matlab - `im2col`和 `col2im`的高效实现

python - NodeJS 包类似于 pythons PIL

python - 尝试安装 PIL 时出错

python - 如何在 Django 中获取模型实例保存到的数据库?

python - Monkeypatching 不进行类导入

R 魔法 : Square crop and circular mask

python - 在 while 循环中更改 tkinter Canvas 中的图像

python - 努力用 pip 安装 pygtk

python - 有关(精明)边缘检测的一般问题