如何使用OPQUE填充图形对象为imagemagick画布指定alpha

如何使用OPQUE填充图形对象为imagemagick画布指定alpha,imagemagick,Imagemagick,我正在尝试在imagemagick中创建一个渐晕滤镜。它必须是黑色和透明的,以便覆盖在浏览器中的其他图像上(所以我不能仅仅通过乘法合成)。这里有一种方法: convert -size 300x300 xc:transparent -virtual-pixel background -background black -blur 0x20 out.png 我更喜欢使用此功能: convert -size 300x300 xc: -fill black -fx '(1-(2*i/w-1)^4)

我正在尝试在imagemagick中创建一个渐晕滤镜。它必须是黑色和透明的,以便覆盖在浏览器中的其他图像上(所以我不能仅仅通过乘法合成)。这里有一种方法:

convert -size 300x300 xc:transparent -virtual-pixel background  -background black -blur 0x20 out.png

我更喜欢使用此功能:

convert -size 300x300 xc: -fill black -fx '(1-(2*i/w-1)^4)*(1-(2*j/h-1)^4)' out.png
但是,我似乎无法使白色透明(仅设置透明画布不起作用)。如何实现这一点?

好的,我有一个解决方案:

仅在alpha通道中工作,通过从1中减去并求反,使渐晕图在中心变为黑色和透明

convert -size 300x300 -alpha set -channel A xc: -fx '1- (1-(2*i/w-1)^4)*(1-(2*j/h-1)^4)' +channel -negate out.png