gpt4 book ai didi

python - 在圆形图像周围生成光滑的白色边框

转载 作者:太空狗 更新时间:2023-10-29 22:13:20 25 4
gpt4 key购买 nike

我正在使用 pgmagick 生成圆形缩略图。我正在使用类似于讨论的过程 here ,这确实为我生成了一个漂亮的圆形缩略图。但是,我需要围绕圆半径的白色边框。

我最初的方法是创建一个具有透明背景的稍大的白色圆圈的新图像,并将缩略图合成在其上,让白色圆圈从缩略图下方“突出”并创建边框效果。这是我用来实现它的 pgmagick 代码:

border_background = Image(Geometry(220, 220), Color('transparent'))
drawer = Draw()
drawer.circle(110, 110, 33.75, 33.75)
drawer.fill_color(Color('white'))
drawer.stroke_antialias(False)
border_background.draw(drawer.drawer)
border_background.composite(original_thumbnail, 0, 0, CompositeOperator.OverCompositeOp)

这“有效”,但周围的白色边框相当扭曲,边缘参差不齐——尚未准备好生产。如果我把 drawer.stroke_antialias(False) 去掉,那就更糟了。

关于使用 pgmagick 使这个边界更平滑有什么想法吗?

最佳答案

我把它留作一个简单的练习,供读者将此解决方案从pgmagick 的命令行(见下文)。 pgmagick 的底层代码与命令行使用的代码相同。

您可以将圆画得更大,然后“调整”它的大小。这通过在调整大小操作期间将边缘与周围背景平均化来改善圆的锯齿状外观。

代替

gm convert -size 220x220 xc:none -fill white \
-draw "circle 110,110, 33.75,33.75" \
original.png

这样做:

gm convert -size 880x880 xc:none -fill white \
-draw "circle 440,440, 135,135" \
-resize 25% resized.png

您可以尝试其他尺寸和决定哪个是最令您满意的,例如,

gm convert -size 440x440 xc:none -fill white \
-draw "circle 220,220, 67.5,65.5" \
-resize 50% resized.png

此命令行适用于 GraphicsMagick(“gm convert”)和 ImageMagick(“convert”)

查看 pgmagick 文档 http://pgmagick.readthedocs.org/en/latest/cookbook.html#scaling-a-image目前尚不清楚 pgmagick 是否提供“调整大小”。文档显示“img.scale”,这可能会导致锯齿状的圆圈。在上面的命令行示例中使用“-scale”而不是“-resize”确实会产生相同的锯齿状图像。

pgmagick 但是允许您指定过滤器类型,如

 img.scale((150, 100), 'lanczos')

这应该等同于“-resize”并且是您想要的。

关于python - 在圆形图像周围生成光滑的白色边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com