如何使用ImageMagick为黑色透明的PNG图标着色

Thi*_* D. 6 icons imagemagick imagemagick-convert

如何使用ImageMagick为具有透明背景的黑色PNG图像着色?

用例:
您有几个这样的PNG图像:
源图像

我想像这样给它们着色:
希望的结果

我想使用ImageMagick的convert命令,允许脚本一次处理数百个图标。

Thi*_* D. 5

您可以使用以下命令之一:

$ convert input.png +level-colors "red", output.png
$ convert input.png +level-colors "rgb(255,0,0)", output.png
$ convert input.png +level-colors "#ff0000", output.png
Run Code Online (Sandbox Code Playgroud)

请注意,,字符在这里很重要。在,字符的左侧,我们告诉convert应该用哪种颜色代替黑色,在右侧用什么颜色代替白色。因此,不应在,字符后给出任何内容。

来源


tre*_*esf 5

...如何对黑色和透明 PNG 图像进行着色 [...] 像这样使用 ImageMagick 对它们进行着色 [...]

-fill <COLOR>选项非常适合此目的。您可以替换"#1bbfc9"为人类可读的名称(例如“红色”)或 HTML 颜色代码。

convert target-black.png -fill "#1bbfc9" -colorize 100 target-blue.png
Run Code Online (Sandbox Code Playgroud)

...允许一次编写和处理数百个图标

使用该find命令,您可以递归数百次。
警告:这将取代原来的。

find path/to/files  -iname '*.png' -exec convert "{}" -fill "#1bbfc9" -colorize 100 "{}" \;
Run Code Online (Sandbox Code Playgroud)