PM.*_*PM. 7 imagemagick rounded-corners
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
参数是:
$ SRC:输入图像$ W:输入图像的宽度$ H:输入图像的高度$ MASK:包含透明角的掩模图像$ DST:带圆角的结果图像.
提前致谢.
PM.*_*PM. 12
终于找到了解决方案:
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
Run Code Online (Sandbox Code Playgroud)
我正在使用"临时"PNG文件作为目的地.如果输出格式不是GIF或PNG,我使用ImageMagick的"flatten"功能,白色作为背景.
convert $TMP_PNG -background white -flatten $DST
Run Code Online (Sandbox Code Playgroud)
对于PNG输出:只需将$ TMP_PNG复制到$ DST即可
对于GIF输出:只需将$ TMP_PNG转换为$ DST
否则:如前所述平整图像.
希望有所帮助.