我想用另一种颜色替换PNG徽标中黑色的所有实例。我尝试过:Imagemagick替换颜色但保持透明度
convert source.png -fill #123456 -opaque black out.png
但是,该徽标有一些透明的黑色像素没有转换。我怎样才能改变每个黑色像素,但保持透明度?
我想用另一种颜色替换PNG徽标中黑色的所有实例。我尝试过:Imagemagick替换颜色但保持透明度
convert source.png -fill #123456 -opaque black out.png
但是,该徽标有一些透明的黑色像素没有转换。我怎样才能改变每个黑色像素,但保持透明度?
你可以尝试这样的事情:
convert source.png -channel RGB -fuzz 99% -fill blue -opaque black dest.png
但将只如果你的标志是单色(如iOS的图标 - 只有一种颜色和透明度)。
我意识到这是一个老问题,但我度过了难以置信的很长时间,没有找到答案。但最后我明白了。
注意:我的图像是一个全黑色,使它与alpha灰度。 (即我的所有像素都像:R = 0,G = 0,B = 0,A = X您的像素可别的,我想你一定能调整我的回答
convert in_file.png -alpha off -fuzz 100% -fill blue -opaque '#000000' -alpha on -format png32 out_file.png32
。这里发生了什么?
alpha off
这意味着,如果图像没有Alpha通道,然后 没有什么变化,如果你的形象也有一个alpha通道,随后 操作会假装它不存在。无论如何,如果你尝试调试,为什么你的形象管道不具有透明度的工作:
在窗口顶部的酒吧GIMP
打开图像您应该看到...Indexed color...
或其他内容,例如...RGB color...
。如果你看到Indexed color
,也许你的管道已经运行良好,只保存错误的格式!
啊,这是一个双重错误......您可能已经这样做是正确的几十个关于错误的1倍......猜猜我在想,如果我发现了这一点绝望谷歌搜索小时后并尝试....
版本:ImageMagick 6.8。9-9 Q16 x86_64的2017年7月31日http://www.imagemagick.org
在ImageMagick的,如果你有tranparency,然后尝试
convert source.png -alpha off -fuzz XX% -fill "#123456" -opaque black -alpha on out.png
XX是百分之一些接近黑色,你可能要包括。如果你只想改变纯黑色,那么你可以设置XX = 0。
请注意,上述代码会将所有黑色像素更改为新颜色,包括透明度下的任何黑色。
如果您只想将完全不透明的黑色更改为新颜色,而不是透明度下的任何黑色,请在您的颜色中包含Alpha值。因此,尝试
convert source.png -fuzz XX% -fill "#123456FF" -opaque "graya(0)" -alpha on out.png
如果使用IM 7,然后更改转换为magick。
您是否设法解决您的问题? – nasaa 2013-07-03 12:22:50
尝试在命令开始附近设置'-channel RGBA',也许? – 2015-08-22 10:00:27