ImageMagick,用不透明白色替换半透明白色

Eve*_*sle 2 png transparency image imagemagick 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

,但无法产生想要的结果。有小费吗?

Mar*_*ell 5

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

convert icon.png -channel A -threshold 75% output.png
Run Code Online (Sandbox Code Playgroud)

上面的内容有些粗糙,因为它使所有部分透明的像素完全不透明。如果你想要更手术一点你只能在红色、绿色和蓝色像素大于 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
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述