gpt4 book ai didi

compression - 哪些转换选项(ImageMagick 或 GraphicsMagick)会产生最小(文件大小)的 PNG?

转载 作者:行者123 更新时间:2023-12-03 23:32:59 31 4
gpt4 key购买 nike

ImageMagick 创建了一些非常大的 PNG。 GraphicsMagick 好很多,但我仍在寻找与 convert 一起使用的最佳选项,以获得最小的文件大小 png。

我这里有 large png with a small filesize ,并通过 IM 转换我一直无法达到该文件大小,更不用说让它变小了。使用 GM convert 我可以让它稍微小一点,但我正在寻找改进,通常用于 任何图片我遇到了。

gm convert -quality 95 a_png.png gm.png
convert -quality 95 -depth 8 a_png.png im.png
gm identify *

a_png.png PNG 2560x2048+0+0 PseudoClass 256c 8-bit 60.1K 0.000u 0:01
gm.png[1] PNG 2560x2048+0+0 PseudoClass 256c 8-bit 60.0K 0.000u 0:01
im.png[2] PNG 2560x2048+0+0 DirectClass 8-bit 130.2K 0.000u 0:01

哪些转换选项会产生最小的 PNG 文件大小?

(是的,我对 OptiPNG、PNGOUT 和 Pngcrush 很熟悉。但我正在寻找可以在我碰巧使用的每个 *nix 机器上毫无疑问地可用的东西。)

最佳答案

看起来你和我正在寻找相同的答案。不幸的是,似乎没有多少人对 GraphicsMagick 有很好的了解。这是我目前学到的

质量运算符不适用于 JPEG 以外的任何图像。对我来说,当在 PNG 和 GIF 上使用时,它只会使文件大小变大。

我对我的 PNG 和 GIF 文件做了这个以减小它们的大小:

gm convert myImage.png +dither -depth 8 -colors 50 myImage.png
  • +dither当颜色减少时停止图像的任何抖动。 (这会减小文件大小)
  • -depth 8可能没有必要,因为大多数 PNG 文件的深度已经为 8。
  • -colors 50将图像中的颜色数量减少到 50,这是真正减小以无损格式(如 PNG 或 GIF)存储的图像大小的唯一方法。

  • 显然,为了获得最佳图像质量/尺寸比,您不能在不知道当前深度和颜色数量的情况下减少图像深度或颜色数量。为了确定此信息,我正在执行以下操作
    gm identify -format "file_size:%b,unique_colors:%k,bit_depth:%q" myImage.png

    为了我的形象;这返回
    file_size:100.7k,unique_colors:13455,bit_depth:8

    问题是当 GraphicsMagick 减少颜色时,它总是减少到至少 255,所以你不能将颜色数设置为 300。 PNG 文件的 alpha channel 似乎也存在问题;如果图像中有透明度,则减少颜色将这些颜色替换为透明;使用 imagemagick 它不会这样做。

    关于compression - 哪些转换选项(ImageMagick 或 GraphicsMagick)会产生最小(文件大小)的 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228027/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com