从命令行减少PNG文件的位深度

时间:2009-08-25 17:51:59

标签: macos command-line png bpp bit-depth

我可以从CLI执行哪些命令或一系列命令来递归遍历目录树,并将该树中所有PNG文件的位深度从24bpp减少到16bpp?命令应该保留alpha层,不应该增加PNG的文件大小 - 实际上减少更好。

我有一个基于OSX的系统,我熟悉find命令,所以我非常希望找到合适的PNG实用程序命令。

2 个答案:

答案 0 :(得分:4)

  1. 安装fink

  2. 说“fink install imagemagick”(可能是“ImageMagick”)

  3. “convert -depth 16 old / foo.png new / foo.png”

  4. 如果这样做了你想要的,请将它包装在一个查找电话中并开心。如果没有,请说“convert -help”和RTF-ImageMagick-M。 :)

  5. 可选:“fink install pngcrush”并在转换传递后作为第二遍传递。

答案 1 :(得分:2)

AFAIK唯一支持alpha图层的PNG格式是PNG-24;将PNG缩小为另一种格式可能需要在CLUT中指定透明色,这不会为您提供所需的输出。

从PNG网站上的功能列表:

  • 每样本8位和16位(即24位和48位)truecolor支持
  • 8位和16位模式下的完全Alpha透明度,而不仅仅是简单的开关透明度,如GIF

...我读到的意思是PNG-24或PNG-48以外的任何内容都不支持完整的Alpha透明度。