【问题标题】:Optimize storage of large number of .PNG files优化大量 .PNG 文件的存储
【发布时间】:2015-03-07 19:56:41
【问题描述】:

我有数百万张颜色相同的 .PNG 图像。我想使用这些知识以通过以下方式节省一些空间:强制所有文件使用相同的调色板并仅存储 IHDR 和 IDAT 部分,并对所有文件使用相同的 PLTE。然后我会在请求图像时注入 PLTE。因为这不是微不足道的,所以我问这是合理的方法吗?我错过了一些障碍吗?这个问题还有另一种方法吗?初步观察是,这将节省约 15% 的存储空间。

如果不存储 PLTE 部分,例如为单个图像节省了多少空间:

【问题讨论】:

标签: image-processing png image-compression


【解决方案1】:

以灰度格式(而不是 pal 索引)对图像进行编码。将您的调色板保存在一个单独的文件中。

根据图像请求从at 变回索引调色板并注入调色板条目。

【讨论】:

    【解决方案2】:

    这看起来成本太高(开发软件来存储和重建无效的 PNG 文件)而收益太少。您有“数百万”张具有“相同颜色”的图像听起来也很奇怪-后者是什么意思?他们真的有相同的调色板(最多 256 种颜色)吗?如果要“强制使用通用调色板”,您必须牺牲质量,那么将它们存储在 JPEG 中不会更有效。

    此外,如果剥离调色板可以获得 15% 的增益,图像必须非常小。在这种情况下,一种更实用的方法(特别是如果文件具有相同的大小(以像素为单位))是将它们的组平铺在一起存储在单个 PNG 图像中,类似于CSS sprites

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多