Image processing 在Image Magick中,如何在对PNG文件使用-compose CopyOpacity操作后删除黑色背景区域?

Image processing 在Image Magick中,如何在对PNG文件使用-compose CopyOpacity操作后删除黑色背景区域?,image-processing,imagemagick,image-manipulation,imagemagick-convert,Image Processing,Imagemagick,Image Manipulation,Imagemagick Convert,我正在尝试制作一个圆角图像,然后添加阴影效果,如下所示: 在上面的例子中,输入文件是一个jpg,由于没有透明性,它工作得很好。但是,对于具有透明度的png文件,结果会在拐角处显示剩余的黑色圆弧,如下面的输出。基本上,它是捕获png的基本背景色,而png是完全透明的: 我在上面使用的源文件如下: 到目前为止,我在命令行中使用的Image Magick脚本如下所示: convert garfield.png \ \( +clone -alpha extract \ \( -size 1

我正在尝试制作一个圆角图像,然后添加阴影效果,如下所示:

在上面的例子中,输入文件是一个jpg,由于没有透明性,它工作得很好。但是,对于具有透明度的png文件,结果会在拐角处显示剩余的黑色圆弧,如下面的输出。基本上,它是捕获png的基本背景色,而png是完全透明的:

我在上面使用的源文件如下:

到目前为止,我在命令行中使用的Image Magick脚本如下所示:

convert garfield.png \
\( +clone -alpha extract \
    \( -size 15x15 xc:black -draw 'fill white circle 15,15 15,0' -write mpr:arc +delete \) \
    \( mpr:arc \) -gravity northwest -composite \
    \( mpr:arc -flip \) -gravity southwest -composite \
    \( mpr:arc -flop \) -gravity northeast -composite \
    \( mpr:arc -rotate 180 \) -gravity southeast -composite \
\) -alpha off -compose CopyOpacity -composite \
-compose over \( +clone -background black -shadow 80x3+5+5 \) \
+swap -background none -layers merge output.png

我知道这个png不可能有圆角效果,因为它在拐角处是透明的。如果是png文件,有谁能建议我如何删除角上的黑色圆弧吗?

我不确定是否要为每个图像创建圆角,或者在透明文件中添加阴影。在第一种情况下,您可以将背景添加到输入png中,如下所示
convert-background white garfield.png-flatte+clone-alpha…(等等)
。谢谢@rostok,我实际上从Image Magick论坛得到了答案: