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

时间:2015-11-17 08:22:41

标签: imagemagick

我试图在imagemagick中创建一个晕影过滤器。它必须是黑色和透明的,以便在浏览器中覆盖其他图像(所以我不能通过乘法来合成)。这是实现目标的一种方式:

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

enter image description here

我更喜欢使用此功能:

convert -size 300x300 xc: -fill black -fx '(1-(2*i/w-1)^4)*(1-(2*j/h-1)^4)' out.png

然而,我似乎无法使白色透明(只是设置一个透明的画布不起作用)。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

好的,得到了​​解决方案:

仅在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

enter image description here