我有一个透明的PNG图像:
现在我想使用ImageMagick来实现 apply a diagonal gradient to its alpha channel . 我的意思是它的不透明度保持在左上角,并在右下角逐渐淡出到完全透明 . 像这样:
所以基本上我想生成一个渐变,并将其用作图像的遮罩 . 但是图像已经有了自己的alpha通道(透明度) . 这是我正在尝试的可视化:
(原件和结果在棋盘上显示为visiblity,但我的意思是实际的透明度)
我想我理解如何生成对角线渐变(barycentric gradient命令对此非常有用) . 但这会在_1452702中产生渐变,即彩色或灰度渐变 . 而我想在 alpha Channels 上应用渐变 .
从IM manual我明白 -compose CopyOpacity
运算符可以用于此 . 然而,这似乎将掩码中的alpha复制到我的图像上 . 我需要在现有的alpha通道上使用这种渐变色,所以基本上我需要将我的图像的alpha通道乘以渐变图像的灰度颜色 .
执行上面显示的操作的正确IM命令行是什么?
1 回答
这是你可以做到的一种方式:
-write alpha.png
可以省略 - 它只显示alpha层用于调试和说明目的 .MPR
只是我在内存中保存的原始图像的临时副本,而我正在使用alpha通道进行调查,并且我将其带回到最后 . alpha通道中的渐变由-fx
生成,我首先将颜色空间设置为灰色,因此它只需运行一次,而不是三次 .如果您事先知道树图像的尺寸,则可以用括号替换括号中的部分:
但我不想要第二个
convert
命令来获取它们,所以我基本上克隆原始图像的alpha通道以获得正确大小的画布并用-fx
填充它 .