从命令行将图像转换为未压缩的PNG

机械蜗牛

我有一个压缩的PNG图像compressed.png我可以decompressed.png使用GIMP将其转换为未压缩的PNG (另存为PNG并将压缩级别设置为0)。如何在命令行(Linux)上完成此操作?

我回想起过去使用Imagemagick的方法convert,但是我忘记了如何做。我根据文档尝试了一些我认为应该起作用的事情

  • convert compressed.png -compress None decompressed.png
  • convert compressed.png +compress decompressed.png
  • convert compressed.png -quality 0 decompressed.png
  • convert compressed.png -quality 00 decompressed.png

刚刚写了一个普通的压缩PNG。

撇开:您为什么要未压缩的PNG?

某些情况下:

  • 您想支持图像数据的有效(二进制)差异,同时仍使用PNG格式的其他功能(与存储原始图像数据或BMP相对)。
  • 您想将多个PNG压缩到tarball或7z档案中,但希望继续使用PNG功能。如果图像足够相似,则与单独压缩相比,可以提供更好的压缩率。
  • 可用作测试PNG优化器的基准大小。
MV

ImageMagick将始终压缩PNG文件。您可以获得的最差的压缩率是:

convert -verbose -quality 01 input.png output.png

但这取决于图像内容(0将使用霍夫曼压缩,有时压缩效果比zlib更好)。

您可以尝试使用其他工具,例如pngcrush(http://pmt.sourceforge.net/pngcrush/)来禁用压缩:

pngcrush -force -m 1 -l 0 input.png output.png

当使用压缩级别0(或多或少的几个字节)时,它们会创建与GIMP大小相同的文件。

一些示例尺寸(适用于摄影PNG的1600x1200):

  • 原始的:1,693,848字节
  • IM之后:2,435,983字节。
  • GIMP之后:5,770,587字节。
  • pngcrush之后:5,802,254字节。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章