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

时间:2016-02-22 12:54:37

标签: icons imagemagick imagemagick-convert

如何为黑色和黑色着色使用ImageMagick的透明PNG图像?

用例:
你有几个像这样的PNG图像:
Source image

如何将它们着色为什么:
Wished result

使用ImageMagick的convert命令,允许一次编写和处理数百个图标。

3 个答案:

答案 0 :(得分:4)

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

$ 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

请注意,,字符在此非常重要。在,字符的左侧,我们告诉convert哪种颜色应该替换黑色,而在右侧应该替换 white 。因此,在,字符后不应给出任何内容。

Source

答案 1 :(得分:1)

  

...如何使用ImageMagick对黑色和透明的PNG图像进行着色,以使其像这样[...]

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

convert target-black.png -fill "#1bbfc9" -colorize 100 target-blue.png
  

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

使用find命令,您可以递归数百个。
警告:这将替换原始文件。

find path/to/files  -iname '*.png' -exec convert "{}" -fill "#1bbfc9" -colorize 100 "{}" \;

答案 2 :(得分:0)

使用ImageMagick,您可以一次处理一个完整的图像文件夹,而无需转换(如果您希望所有相同的颜色)。创建一个新的输出目录来保存彩色文件。然后cd到保存图像的文件夹。

cd path_to/image_folder
mogrify -format png -path path_to/new_folder -fill "cyan" -colorize 100 *.png


path_to替换为您的实际路径。

您可以在fill命令中使用颜色名称,十六进制颜色或rgb(...)颜色,但在Linux / Mac OSX上将其用引号引起来。 Windows不需要引号,但如果使用双引号,则不会引起任何问题。

请参见mogrify