我试图使用节点GraphicsMagick将所有非透明像素替换为给定的颜色。
使用复合图像不是一个选项,我只需要将每个非透明像素更改为给定的颜色。
原始图像:
目标:
透明像素应保持透明。我正在尝试实现Photoshop的色彩覆盖效果:
发布于 2017-05-24 17:41:57
这有点简单。在ImageMagick中,执行以下操作:
convert 84xHk.png -fill "#E91FCB" +opaque none result.png
发布于 2017-05-24 14:30:30
我不熟悉Node的GraphicsMagick库,但是有几种方法可以实现这一点。这里有一些我能想到的..。
提取α,并替换颜色
convert 84xHk.png -alpha extract \
-negate -fill '#E91FCB' -fuzz 50% \
-opaque black output.png
创建实心彩色图像,并复制alpha通道
convert 84xHk.png \
\( +clone -alpha off \
-fill '#E91FCB' \
-draw 'color 0,0 reset' \
\) +swap -compose CopyOpacity -composite output.png
使用FX表达式
convert 84xHk.png -fx 'p.a==1?#E91FCBFF:#E91FCB00' output.png
https://stackoverflow.com/questions/44160013
复制相似问题