我正在尝试使用ImageMagick将圆角添加到我的图像中。
如果输入图像是 PNG 或 GIF 文件,我的脚本可以正常工作。
但是如果我的输入文件是 JPEG 文件,边角是黑色的。在这种情况下,我想使用自定义角颜色(例如白色),知道吗?
这是我的工作 bash 脚本:
convert -size "$W"x"$H" xc:none -draw "roundrectangle 0,0,$W,$H,$R,$R" $MASK
convert $SRC -matte $MASK -compose DstIn -composite $DST
参数是:
$SRC : 输入图像
$W : 输入图像的宽度
$H : 输入图像的高度
$MASK : 包含透明角的蒙版图像
$DST :生成的带有圆角的图像。
提前致谢。
最佳答案
终于找到了解决办法:
convert -size "$W"x"$H" xc:none -draw "roundrectangle 0,0,$W,$H,$R,$R" $MASK
convert $SRC -matte $MASK -compose DstIn -composite $TMP_PNG
我使用“临时”PNG 文件作为目标。如果输出格式不是 GIF 或 PNG,我使用 ImageMagick 的“扁平化”功能,以白色为背景。
convert $TMP_PNG -background white -flatten $DST
对于 PNG 输出:只需将 $TMP_PNG 复制到 $DST
对于 GIF 输出:只需将 $TMP_PNG 转换为 $DST
否则:如前所述将图像展平。
希望有帮助。
关于imagemagick - 使用 ImageMagick 圆角(背景透明或白色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1915726/