关于png文件的简要介绍:
PNG 格式-PNG 格式 基本介绍
PNG 格式
便携网络图形 (PNG) 格式是作为 GIF 的无专利替代品开发的,用于无损压缩和在 Web 上显示图像。 与 GIF 不同,PNG 支持 24 位图像并产生无锯齿状边缘的背景透明度;但是,某些 Web 浏览器不支持 PNG 图像。 PNG 格式支持无 Alpha 通道的 RGB、索引颜色、灰度和位图模式的图像。 PNG 保留灰度和 RGB 图像中的透明度。
PNG(Portable Network Graphics)是一种新兴的网络图像格式。在1994年底,由于Unysis公司宣布GIF拥有专利的压缩方法,要求开发GIF软件的作者须缴交一定费用,由此促使免费的png图像格式的诞生。PNG一开始便结合GIF及JPG两家之长,打算一举取代这两种格式。1996年10月1日由PNG向国际网络联盟提出并得到推荐认可标准,并且大部分绘图软件和浏览器开始支持PNG图像浏览,从此PNG图像格式生机焕发。
下面是在i386版本的OpenBSD4.6稳定版上安装pngcrush:
设置packages路径,然后使用pkg_add命令安装:
代码: 全选
# [B][color=Sienna]export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/[/color]
# [color=Sienna]pkg_add pngcrush[/color][/B]
pngcrush-1.6.19: complete
代码: 全选
# [B][color=Sienna]cd /home/png[/color]
# [color=Sienna]pngcrush discuz-001.png discuz-001-new.png[/color][/B]
| pngcrush 1.6.19
| Copyright (C) 1998-2002,2006-2009 Glenn Randers-Pehrson
| Copyright (C) 2005 Greg Roelofs
| This is a free, open-source program. Permission is irrevocably
| granted to everyone to use this version of pngcrush without
| payment of any fee.
| Executable name is pngcrush
| It was built with libpng version 1.2.37, and is
| running with libpng version 1.2.37 - June 4, 2009
| Copyright (C) 1998-2004,2006-2009 Glenn Randers-Pehrson,
| Copyright (C) 1996, 1997 Andreas Dilger,
| Copyright (C) 1995, Guy Eric Schalnat, Group 42 Inc.,
| and zlib version 1.2.3.3, Copyright (C) 1998-2002 (or later),
| Jean-loup Gailly and Mark Adler.
| It was compiled with gcc version 3.3.5 (propolice).
Recompressing discuz-001.png
Total length of data found in IDAT chunks = 54081
unknown chunk handling done.
IDAT length with method 1 (fm 0 zl 4 zs 0) = 34426
IDAT length with method 2 (fm 1 zl 4 zs 0) = 41260
IDAT length with method 3 (fm 5 zl 4 zs 1) = 53139
IDAT length with method 4 (fm 0 zl 9 zs 1) = 29250
IDAT length with method 7 (fm 0 zl 9 zs 0) = 28285
Best pngcrush method = 7 (fm 0 zl 9 zs 0) for discuz-001-new.png
(47.70% IDAT reduction)
(47.58% filesize reduction)
CPU time used = 0.410 seconds (decoding 0.080,
encoding 0.230, other 0.100 seconds)
#
代码: 全选
# [B][color=Sienna]ls -la[/color][/B]
total 672
drwxr-xr-x 2 root wheel 512 Apr 11 05:26 .
drwxr-xr-x 4 root wheel 512 Apr 11 05:02 ..
[B][color=RoyalBlue]-rw-r--r-- 1 root wheel 28423 Apr 11 05:06 discuz-001-new.png
-rw-r--r-- 1 root wheel 54219 Apr 11 05:02 discuz-001.png[/color][/B]
这个是压缩前的:
下面是压缩后的:
有差别吗?至少大家用肉眼很难观察出来。
此外我们在本例中仅压缩了一个文件,如果使用-d参数可以批量压缩一个目录内的所有png文件,
pngcrush的选项不太多,直接在shell下键入pngcrush就可以看到帮助信息。