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

发布于 2024-08-03 02:18:54 字数 195 浏览 6 评论 0原文

我可以从 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

放肆 2024-08-10 02:18:54
  1. 安装 fink

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

  3. “convert - height 16 old/foo.png new/foo.png"

  4. 如果这满足了您的要求,请将其包装在 find 调用中并要开心。如果没有,请说“convert -help”和 RTF-ImageMagick-M。 :)

  5. 可选:“fink install pngcrush”并在转换过程后作为第二个过程运行。

    可选

  1. Install fink

  2. Say "fink install imagemagick" (might be "ImageMagick")

  3. "convert -depth 16 old/foo.png new/foo.png"

  4. If that did what you want, wrap it in a find call and be happy. If not, say "convert -help" and RTF-ImageMagick-M. :)

  5. Optional: "fink install pngcrush" and run that as a second pass after the convert pass.

罗罗贝儿 2024-08-10 02:18:54

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

来自 PNG 网站上的功能列表:

  • 8 位和 16 位每个样本(即 24 位和 48 位)真彩色支持
  • 8 位和 16 位模式下的完整 alpha 透明度,而不仅仅是简单的开关透明度就像 GIF

...我读到的意思是除 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:

  • 8- and 16-bit-per-sample (that is, 24- and 48-bit) truecolor support
  • full alpha transparency in 8- and 16-bit modes, not just simple on-off transparency like GIF

... which I read to mean that anything other than PNG-24 or PNG-48 does not support full alpha transparency.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文