我如何使用 ImageMagick 转换如下图像这转换为透明背景上带有圆角矩形的 PNG?
并非集合中的所有图像都有清晰的边框,因此我更喜欢使用标准化蒙版,而不是类似的东西-trim
。我想执行与 CSS 等效的 ImageMagick 操作border-radius: 4.75% / 3.5%
,以将蒙版应用于卡片并将结果保存为包含圆角矩形的 PNG。
答案1
经过几个小时的研究,我查阅了 ImageMagick 的文档,找到了这个技巧。
首先,制作一个圆角矩形作为蒙版。
convert -size 672x936 xc:black -fill white -draw "roundRectangle 0,0,672,936 32,33" generatedcardmask.png
如果你关心其工作原理的细节,请阅读ImageMagick 的整体命令行结构,创建面具和绘制形状。
对于圆角矩形的角宽度和高度,我按如下方式计算:
- 宽度:672px * 4.75% = 31.92px(四舍五入为 32px)
- 高度:936px * 3.5% = 32.76px(四舍五入为 33px)
这将生成以下 PNG:
然后我可以获取原始图像并使用这个蒙版 PNG 来替换 alpha 值:
convert tsp-156-fortune-thief.jpg generatedcardmask.png -alpha Off -compose CopyOpacity -composite -colorspace RGB test.png
由于版权原因,我不能在这里发布结果,但您可以随意尝试一下这个图片。