• 【整理】详说JPG,GIF及PNG各类型的图片格式


    大家都知道网页上面的图像一般用jpg、gif和png这几种格式,他们有什么区别,看了下面的内容后你可能会有了自己的结论。


    GIF格式特点:

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

    由以上特点看出只有256种颜色的gif图片不适合作为照片,它适合做对颜色要求不高的图形。


    Jpeg格式特点:

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

    由上可以看出Jpeg是最适web上面的摄影图片和数字照相机中。


    Png格式特点:

    透明性
    Png是完全支持alpha透明的(透明,半透明,不透明),尽管有两个怪异的现象在ie6(下面详细讨论)
    动画
    它不支持动画
    无损耗性
    png是一种无损耗的图像格式,这也意味着你可以对png图片做任何操作也不会使  得图像质量产生损耗。这也使得png可以作为jpeg编辑的过渡格式
    水平扫描
    GIF一样,png也是水平扫描的,这样意味着水平重复颜色比垂直重复颜色的图片更小
    间隔渐进显示
    它支持间隔渐进显示,但是会造成图片大小变得更大

    第一种PNG叫PNG8(布尔透明),简单说可以理解为静态的GIF
    他们都只有256色,也支持索引透明,就是指定一个像素点是不是透明

    第二种PNG也叫PNG8(Alpha透明)可指定像素点的透明度,例如50%透明度
    这种优点在于比PNG24/32体积小,但效果一样
    缺点在于IE6支持不好,会把半透明的像素点显示成全透明

    第三种PNG叫PNG24

    PNG24不透明,但是颜色数很多,不止256色
    而Photoshop里导出的png24其实是png32

    第四种PNG叫PNG32
    和photoshop的PSD一样,是Fireworks的默认源文件格式,包含图层和通道信息
    和PNG24的区别在于多了透明信息
    缺点在于IE6支持不好,会把透明区域显示成蓝灰底色 : 只能通过影响性能的方法AlphaImageLoader与需要加特殊标签(VML)。

    布尔透明的png8可以在任一浏览器正常显示(就像gif一样)。

    Alpha透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器都能正常

    Photoshop只能导出布尔透明的PNG8。(有些png8在IE6下可能会有毛边,因为像文字,圆角等通常有弱化边缘的效果。可以在导出前进行修剪)
    Fireworks既能导出布尔透明的PNG8,也能导出alpha透明的PNG8.


    其它图片格式与PNG比较:

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

    相比GIF

    对于相同色值,gif格式图片会比png32格式图片小。但png8才是最优的选择。

    PNG 8除了不支持动画外,PNG8有GIF所有的特点,但是比GIF更加具有优势的是它支持alpha透明和更优的压缩。所以,大多数情况下,你都应该用PNG8不是GIF(除了非常小的图片GIF会有更好的压缩外)。

    相比JPEG
    JPEG比全色PNG具有更加好的压缩,因此也使得JPEG适合照片,但是编辑JPEG过程中容易造成质量的损失,所以全色PNG适合作为编辑JPEG的过渡格式.

  • 相关阅读:
    正则表达式
    模块的初始
    装饰器 1
    匿名函数
    内置函数一(待跟新)
    python 学习迭代器的认识
    python 学习笔记 —— 函数的认识
    搭建yum 源
    python 学习第六天 文件的处理方式
    python 学习第五天 字典得 增删改查
  • 原文地址:https://www.cnblogs.com/weinan/p/2801918.html
Copyright © 2020-2023  润新知