批量替换图片中的 2 种颜色

批量替换图片中的 2 种颜色

我知道已经有这样的问题了,但它对我没有帮助。我有很多图像文件,我想将紫色 RGB(255, 0, 255)更改为透明(它是 png)。有没有什么应用程序可以快速完成?我使用 Linux,但我可以使用 Windows 工具。

答案1

与大多数涉及光栅图像文件批量转换的问题一样,答案可以在netpbm 工具包。在这种情况下,如果您的 png 图像还没有 alpha 通道,最简单的解决方案就是从 png 转换为 pnm 并转回;在返回的过程中,您可以指定透明颜色:

pngtopnm $file | pnmtopng -transparent==rgb:ff/00/ff > new.$file

如果您的 png 图像已经有 alpha 通道(或不同的透明背景颜色),则需要提取现有的 alpha 通道,然后将其与由“紫色”像素组成的新 alpha 通道相结合。请参阅命令行选项-alphapngtopnmpnmtopng您可以使用ppmchange来创建与图像中的特定颜色相对应的位图。您可以使用ppmcomppnmarith来合成两幅图像。(如果图像是位图,pnmarith -max则和分别pnmarith -min是按位和。)orand

如果 netpbm 工具包中不提供转换功能,通常可以使用 shell 脚本或 python 程序轻松完成;只需将图像转换为普通格式,这非常容易使用。

相关内容