OptiPNG:先进的PNG优化器
简介
OptiPNG是一个PNG优化器,可将图像文件重新压缩为更小尺寸,而不会丢失任何信息。此程序还将外部格式(BMP,GIF,PNM和TIFF)转换为优化的PNG,并执行PNG完整性检查和更正。
如果您想了解PNG优化如何工作,或了解其他类似工具,请参阅PNG-Tech文章 “PNG优化指南”。
官网:http://optipng.sourceforge.net/
下载&安装
$ wget http://prdownloads.sourceforge.net/optipng/optipng-0.7.7.tar.gz?download $ tar -xzf optipng-0.7.7.tar.gz $ cd -xzf optipng-0.7.7 $ ./configure --prefix=/opt/runtime/optipng $ make && make install
文档
http://optipng.sourceforge.net/optipng-0.7.7.man.pdf
文档翻译:
OPTIPNG命令手册 NAME OptiPNG−优化便携式网络图形文件 SYNOPSIS optipng [−? | −h | −help] optipng [options...] files... DESCRIPTION OptiPNG程序将尝试优化PNG文件,即将其大小减小到最小值。失去语义信息。此外,该程序还应执行一套辅助功能。完整性检查、元数据恢复和pixmapto - png转换。 优化尝试不能保证成功。有效的PNG文件不能被这个程序优化,通常是原封不动的,它们的大小不会增长。用户可以请求重写此默认行为。 FILES 输入文件是用PNG格式(本机格式)或外部格式编码的光栅图像文件。当前支持的外部格式是GIF、BMP、PNM和TIFF。 OptiPNG处理命令行中给出的每个图像文件如下: −如果是PNG格式的图像: 试图优化给定文件的位置。如果优化是成功的,或者选择−力被激活,其优化的版本替换原来的文件。原始文件备份,如果选择−保持启用。 −如果图像是一个外部格式: 创建给定文件的优化PNG版本。输出文件名由原始文件名和PNG扩展名组成。 现有的文件不会被覆盖,除非该选项启用−clobber OPTIONS 通用选项 −?, −h, −help //显示选项的完整摘要。 −backup, −keep //对修改后的文件进行备份。 −clobber //覆盖现有的输出和备份文件。在这个选项,如果选择−backup 未启用,覆盖旧的备份文件的删除。 −dir directory //将输出文件写入目录。 −fix //启用错误恢复。此选项对有效的输入文件没有影响。 //程序将花费大量的精力在不增加输出文件大小的情况下尽可能地恢复尽可能多的数据,但不能保证成功。该程序可能会增加文件的大小,例如,重建丢失的关键数据。在此选项下,完整性应优先于文件大小。 //当此选项未被使用时,无效的输入文件将被未处理。 −force //强制编写新的输出文件。 //此选项覆盖程序的决定不写这样的文件,例如当PNG输入数字签名(使用dsig),或当PNG输出变得大于PNG输入。 −log file //将消息记录到文件。出于安全原因,文件必须有扩展名。此选项已被废弃,最终将被删除。使用shell重定向。 −out file //将输出文件写入文件。命令行必须只包含一个输入文件。 −preserve //保存(文件属性的文件访问时间邮票,在人权等)适用。 −quiet, −silent // 在安静的运行模式。 −simulate //运行模拟模式:执行测试,但不创建输出文件。 −v //启用该选项 −verbose and −version. −verbose //在详细模式运行。 −version //显示版权,版本和建立信息。 −− //选择开关停止解析。 PNG编码和优化选项。 −o level //选择优化级别 //优化level0enables一组优化操作,需要最少的努力。将不会有任何变化的图像的属性一样,比特深度或颜色的类型,并没有再压缩现有IDAT数据流。 //优化level1enables单IDAT压缩试验。试验选择的是什么,OptiPNG认为这可能是最有效的。 //优化level2和更高的使多个IDAT压缩试验;此选项的行为和默认值可能会在不同的程序版本中发生更改。使用选项−H看到有关您的特定版本。 −f filters //选择PNG增量过滤器。 //过滤器的参数被指定为一个rangeset(例如−F0−5),和默认的过滤器值取决于设置的选项−O.优化水平过滤器的值0, 1, 2,3和4显示静态滤波,和对应的标准PNG过滤代码(无,左,上,平均和Paeth,分别)。滤波值5表明自适应滤波,其作用是通过libpng的定义(3)用optipng。 −full //制作一份关于IDAT的完整报告。这种选择可能会减缓试验的速度。 −i type //选择交错类型(0−1)。 //如果交错式0被选择,输出图像应非隔行扫描(即progressivescanned)。如果交错式1被选择,输出图像应交错使用adam7方法。默认情况下,输出应具有相同的类型作为输入接口。 −nb //不要应用位深度还原。 −nc //不要使用颜色类型还原。 −np //不应用调色板还原。 −nx //不适用任何无损图像还原:启用选项−nb,-nc控和−−np。 −nz //不记录IDAT数据流 −zc levels //选择IDAT压缩中使用的zlib压缩级别。 −zm levels //选择IDAT压缩中使用的zlib内存级别。 −zs strategies //选择在IDAT压缩中使用的zlib压缩策略。 −zw size //选择zlib窗口大小(32 k,16 k、8 k、4 k,2 k,1 k,512256)中使用IDAT压缩。 Editing options −snip //从多图像、动画或视频文件中删除一个图像。 −strip objects //从PNG文件中删除元数据对象。
Synopsis: optipng [options] files ... Files: Image files of type: PNG, BMP, GIF, PNM or TIFF Basic options: -?, -h, -help show this help -o <level> optimization level (0-7) [default: 2] -v run in verbose mode / show copyright and version info General options: -backup, -keep keep a backup of the modified files -clobber overwrite existing files -fix enable error recovery -force enforce writing of a new output file -preserve preserve file attributes if possible -quiet, -silent run in quiet mode -simulate run in simulation mode -out <file> write output file to <file> -dir <directory> write output file(s) to <directory> -log <file> log messages to <file> -- stop option switch parsing Optimization options: -f <filters> PNG delta filters (0-5) [default: 0,5] -i <type> PNG interlace type (0-1) -zc <levels> zlib compression levels (1-9) [default: 9] -zm <levels> zlib memory levels (1-9) [default: 8] -zs <strategies> zlib compression strategies (0-3) [default: 0-3] -zw <size> zlib window size (256,512,1k,2k,4k,8k,16k,32k) -full produce a full report on IDAT (might reduce speed) -nb no bit depth reduction -nc no color type reduction -np no palette reduction -nx no reductions -nz no IDAT recoding Editing options: -snip cut one image out of multi-image or animation files -strip <objects> strip metadata objects (e.g. "all") Optimization levels: -o0 <=> -o1 -nx -nz (0 or 1 trials) -o1 <=> -zc9 -zm8 -zs0 -f0 (1 trial) (or...) -zc9 -zm8 -zs1 -f5 (1 trial) -o2 <=> -zc9 -zm8 -zs0-3 -f0,5 (8 trials) -o3 <=> -zc9 -zm8-9 -zs0-3 -f0,5 (16 trials) -o4 <=> -zc9 -zm8 -zs0-3 -f0-5 (24 trials) -o5 <=> -zc9 -zm8-9 -zs0-3 -f0-5 (48 trials) -o6 <=> -zc1-9 -zm8 -zs0-3 -f0-5 (120 trials) -o7 <=> -zc1-9 -zm8-9 -zs0-3 -f0-5 (240 trials) -o7 -zm1-9 <=> -zc1-9 -zm1-9 -zs0-3 -f0-5 (1080 trials) Notes: The combination for -o1 is chosen heuristically. Exhaustive combinations such as "-o7 -zm1-9" are not generally recommended. Examples: optipng file.png (default speed) optipng -o5 file.png (slow) optipng -o7 file.png (very slow)