ImageMagick,用不透明的白色代替半透明白色

时间:2015-02-24 09:56:49

标签: image imagemagick png transparency imagemagick-convert

我有一个带有完全透明背景和半透明白色前景的图标。我想让前景完全不透明,这可以通过ImageMagick来实现吗?

我试过玩杂耍的不同组合;

http://www.imagemagick.org/discourse-server/viewtopic.php?t=12619

http://www.imagemagick.org/discourse-server/viewtopic.php?t=18196

http://www.imagemagick.org/discourse-server/viewtopic.php?t=16718

,但无法产生预期的效果。有什么提示吗?

1 个答案:

答案 0 :(得分:4)

如果您发布了自己的图标会更容易,但我的测试表明这适用于我认为您的图标:

convert icon.png -channel A -threshold 75% output.png

上面有些粗糙,因为它使所有部分透明像素完全不透明。如果你想要更多手术,当红色,绿色和蓝色像素大于90%且原始不透明度(alpha)在40%之间时,你只能将不透明度设置为完全不透明-60%喜欢这样:

convert icon.png -channel A \
   -fx "(r>0.9 && g>0.9 && b>0.9 && a>0.4 && a<0.6) ? 1.0 : a" output.png

enter image description here

enter image description here