我想将白色背景改为#3D94DB
(十六进制三元组表示法),并将黑线改为白色。图像如下:
以下是我所取得的成就:
convert input.png +level-colors red, output.png
我把线条的颜色改成了红色。所以白色很容易。
我怎样才能改变两种颜色?
正在读取imagemagick:颜色基础
convert balloon.gif -alpha set -channel RGBA \
-fill none -opaque blue balloon_none.gif
这是我的代码:
convert input.png +level-colors gray, output.png
convert output.png -fill "#3D94DB" -opaque white target.png
而将其颠倒过来,结果就令人尴尬了。
使用 Photoshop 很容易,但我有很多图标需要处理。
你能告诉我一个更好的解决方案吗?
答案1
我想将白色背景更改为 #3D94DB(十六进制三元组表示法)并将黑线更改为白色。
您可能已经注意到,示例图标中的“黑”线实际上存在细微的渐变(从黑到白)(可能是由于抗锯齿)。这些需要保持完整,以帮助保持图标的外观:
根据 Imagemagick 使用指南按颜色调整级别,+级别颜色将有助于改变“黑色”和“白色”,以及(粗略地)提供适当的颜色渐变:
convert input.png +level-colors white,"#3D94DB" target.png
使用您的示例图标,此命令产生以下结果:
注意事项:
在上面的命令中,替换颜色顺序是先黑后白。
替换颜色之间不应有空格,否则会导致命令失败。
考虑到所需的效果,该命令仅适用于黑白图像。其他颜色的图像将产生意想不到的效果。同样,如果将彩色图像转换为灰度,双色图像的效果会最好。
答案2
同时,在线手册(2022-06-27)有一整章关于替换图像中的颜色展示各种用例,其中所有选项均在代码中进行了解释,并附有前后插图。