大家都知道网页上面的图像一般用jpg、gif和png这几种格式,当用于相片等图像时不用怀疑的我们选择jpg,那另外的图片我们是选择gif还是png,看了下面的内容后你可能会有了自己的结论。

GIF格式特点:

透明性
Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha 透明)。
动画
Gif这种格式支持动画。
无损耗性
Gif是一种无损耗的图像格式,这也意味着你可以对gif图片做任何操作也不会使  得图像质量产生损耗。
水平扫描
Gif是使用了一种叫作LZW的算法进行压缩的,当压缩gif的过程中,像素是由上到下水平压缩的,这也意味着同等条件下,横向的gif图片比竖向的gif图片更加小。例如500*10的图片比10*500的图片更加小
间隔渐进显示
Gif支持可选择性的间隔渐进显示
由以上特点看出只有256种颜色的gif图片不适合照片,但它适合对颜色要求不高的图形(比如说图标,图表等),它并不是最优的选择,我们会在后面中看到png是最优的选择。

Jpeg格式特点:

透明性
它并不支持透明。
动画
它也不支持动画。
损耗性
除了一些比如说旋转(仅仅是90、180、270度旋转),裁切,从标准类型到先进类型,编辑图片的原数据之外,所有其它操作对jpeg图像的处理都会使得它的质量损失。所以我们在编辑过程一般用png作为过渡格式。
隔行渐进显示
它支持隔行渐进显示(但是ie浏览器并不支持这个属性,但是ie会在整个图像信息完全到达的时候显示)。
由上可以看出Jpeg是最适web上面的摄影图片和数字照相机中。

Png格式特点:

类型
Png这种图片格式包括了许多子类,但是在实践中大致可以分为256色的png和全色的png,你完成可以用256色的png代替gif,用全色的png代替jpeg
透明性
Png是完全支持alpha透明的(透明,半透明,不透明),尽管有两个怪异的现象在ie6(下面详细讨论)
动画
它不支持动画
无损耗性
png是一种无损耗的图像格式,这也意味着你可以对png图片做任何操作也不会使  得图像质量产生损耗。这也使得png可以作为jpeg编辑的过渡格式
水平扫描
像GIF一样,png也是水平扫描的,这样意味着水平重复颜色比垂直重复颜色的图片更小
间隔渐进显示
它支持间隔渐进显示,但是会造成图片大小变得更大
PNG8:256色PNG的别名
PNG24:全色PNG的别名
PNG32:全色PNG的别名

其它图片格式与PNG比较:

众所周知GIF适合图形,JPEG适合照片,PNG系列两种都适合。

相比GIF
PNG 8除了不支持动画外,PNG8有GIF所有的特点,但是比GIF更加具有优势的是它支持alpha透明和更优的压缩。所以,大多数情况下,你都应该用PNG8不是GIF(除了非常小的图片GIF会有更好的压缩外)。
相比JPEG
JPEG比全色PNG具有更加好的压缩,因此也使得JPEG适合照片,但是编辑JPEG过程中容易造成质量的损失,所以全色PNG适合作为编辑JPEG的过渡格式.

Png8的在ie中的怪异表现:

半透明的png8在ie6以下的浏览器显示为全透明。
Alpha透明的全色PNG(png32)在ie6中会出现背景颜色(通常是灰色)。

由上面可以总结:

(a)全透明的png8可以在任一浏览器正常显示(就像gif一样)。半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器都能正常显示半透明。这个bug并不需要特殊对待,因为在不支持半透明的浏览器下只是显示为全透明,对用户体验影响不大,它反而是透明gif的加强版。

(b)第二个bug没有什么好的方法解决,只能通过影响性能的方法AlphaImageLoader与需要加特殊标签(VML)。

因此得出结论就是:请使用PNG8。

Png8的软件问题:

Photoshop只能导出布尔透明的PNG8。
Fireworks既能导出布尔透明的PNG8,也能导出alpha透明的PNG8.
pngquant与pngnq这两个命令行软件可以转换全色png为256色的png8。

目前有8 条留言

  1. 2009年10月09日 10:36 怪鸟   |  引用  |  #1     

    如何选择一般都是看需要…

    ifu25 于 2009-10-10 0:55:40 回复

    光知道自己需要也不行,事先得了解每种格式的特性。

  2. 2009年10月09日 10:42 卢松松   |  引用  |  #2     

    嗯,以后试试png8

    ifu25 于 2009-10-10 0:57:57 回复

    我已经把我日志右边的图片Logo换成了PNG8的了,原来PNG24在IE6下不透明,虽然现在在IE6下透明了只是边缘不那么完美但还不错,IE7下也比IE6效果更好。

  3. 2009年10月09日 17:30 zhukun   |  引用  |  #3     

    一般的网页展示用JPG即可 如果对图像要求高的话(比如素材类)就用PNG 如果需要动态图片 或者求追求速度的 那当然是GIF格式的好啦

    ifu25 于 2009-10-10 0:58:56 回复

    我试了下,相同一张图片做成PNG8的会比GIF文件要小一点,可能并不都是这样。

  4. 2009年10月09日 21:56 我想想   |  引用  |  #4     

    各有优点。
    我认为png有优势。

    ifu25 于 2009-10-10 0:59:16 回复

    我也是这么想的。

  5. 2009年10月09日 22:54 LouisHan   |  引用  |  #5     

    PNG本来就是为网络而生

    ifu25 于 2009-10-10 0:59:29 回复

    正解。

  6. 2009年10月12日 08:25 微知博客   |  引用  |  #6     

    GIF效果很差,就是不占空间

    ifu25 于 2009-10-12 10:38:04 回复

    对于某些图片来说还是GIF好,比如在windows下载个窗口存成gif格式的就很不错。

  7. 2009年10月14日 20:37 真好网   |  引用  |  #7     

    好像我用得很很少,清一色jpg。

  8. 2009年10月19日 14:10 haibor   |  引用  |  #8     

    学习了,有时候选择真的很矛盾

发表评论

/ 快捷键:Ctrl+Enter
加载中……