从命令行减少 PNG 文件的位深度
我可以从 CLI 执行什么命令或一系列命令来递归遍历目录树并将该树中所有 PNG 文件的位深度从 24bpp 减少到 16bpp?命令应该保留 alpha 层并且不应该增加 PNG 文件的大小 - 事实上减少会更好。
我有一个基于 OSX 的系统可供使用,并且熟悉 find
命令,因此我真的更热衷于找到合适的 PNG 实用程序命令。
What command or series of commands could I execute from the CLI to recursively traverse a directory tree and reduce the bit-depth of all PNG files within that tree from 24bpp to 16bpp? Commands should preserve the alpha layer and should not increase the file size of the PNGs - in fact a decrease would be preferable.
I have an OSX based system at my disposal and am familiar with the find
command so am really more keen to to locate a suitable PNG utility command.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
安装 fink
说“fink install imagemagick”(可能是“ImageMagick”)
“convert - height 16 old/foo.png new/foo.png"
如果这满足了您的要求,请将其包装在 find 调用中并要开心。如果没有,请说“convert -help”和 RTF-ImageMagick-M。 :)
可选:“fink install pngcrush”并在转换过程后作为第二个过程运行。
可选
Install fink
Say "fink install imagemagick" (might be "ImageMagick")
"convert -depth 16 old/foo.png new/foo.png"
If that did what you want, wrap it in a find call and be happy. If not, say "convert -help" and RTF-ImageMagick-M. :)
Optional: "fink install pngcrush" and run that as a second pass after the convert pass.
AFAIK 唯一支持 alpha 层的 PNG 格式是 PNG-24;将 PNG 缩减为其他格式可能需要在 CLUT 中指定透明颜色,这不会为您提供所需的输出。
来自 PNG 网站上的功能列表:
...我读到的意思是除 PNG-24 或 PNG-48 之外的任何内容都不支持完整的 alpha 透明度。
AFAIK the only PNG format that supports the alpha layer is PNG-24; Reducing the PNG to another format may require specifying a transparent color in a CLUT, which will not give you the output you want.
From the feature list on PNG's website:
... which I read to mean that anything other than PNG-24 or PNG-48 does not support full alpha transparency.