[转载]GIF、JPEG 和 PNG的区别在哪里?

原文地址:GIF、JPEG 和 PNG的区别在哪里?作者:苗得雨

GIF、JPEG 和 PNG
是三种最常见的图片格式。

  • GIF:1987 年诞生,常用于网页动画,使用无损压缩,支持
    256 种颜色(一般叫 8 bit 彩色),支持单一透明色;
  • JPEG:1992 年出世,照片一般都用这个格式,有损压缩,24
    bit 真彩色(224 = 17 万种颜色),不支持动画,不支持透明色;
  • PNG:1996 年问世,无损压缩,最常见的使用格式是 256
    索引色(PNG-8)和 24 bit 真彩色(PNG-24)(当然 PNG 支持的颜色格式远不止此),支持 full alpha
    通道(256 级可调半透明色),不支持动画。

简单比较:

  • JPEG v.s. PNG:JPEG
    在照片压缩方面拥有巨大的优势,这方面无可替代,但是 JPEG 是有损压缩,图片质量会有损失。另外,一般屏幕截屏用 PNG 格式不但比
    JPEG 质量高而且文件大小还更小(维基有图)。
  • GIF v.s. PNG:GIF
    只在简单动画领域有优势(其实,GIF 256 色限制以及无损压缩机制导致高质量的动画的发布一般都使用 Flash
    等格式),只要没有动画,PNG 完全可以取代 GIF。
  • 防锯齿:下面是 GIF 和 PNG
    防锯齿处理的对比,六张小图片是分别放到浅黄和深绿背景下的情景,三张大图是深绿背景情形的放大。由于 GIF
    没有半透明一说,所以防锯齿处理时只能假设背景是白色,这样的 GIF 放在深色背景下还不如不防锯齿。而 PNG
    图片可以轻松应付各种背景颜色,特别适合用来做网页和应用程序里的通用防锯齿图标适应不同皮肤,没有 full alpha 通道的 JPEG
    和 GIF 都做不到这一点。

可以看到,除了照片和动画,PNG 是最好的格式,但是 PNG
为什么到最近几年才流行起来?有很多原因:

  • PNG 诞生的时候互联网已经初具规模,当时 GIF 和 JPEG
    已经是很流行的格式了,换格式的迁移成本是很大的,有时候惯性是一个很可怕的东西。
  • 浏览器的 PNG 支持比较落后,比如 IE 就是到 IE4
    才开始支持 PNG。
  • PNG 当初标准里把 alpha 通道写成了 optional
    的,土鳖的 IE 一直到 IE7 才开始支持 full alpha 通道。而一般网页图标 256 色足够,所以为了支持 IE6,PNG
    相对于 GIF 毫无优势可言,更何况 GIF 还支持动画。
  • 尽管从原理上说,同样质量的 PNG 图片文件一般要比 GIF
    要小,但是早期很多图片编辑器不支持 PNG,甚至支持的也没有完全利用 PNG 压缩算法里最精妙的部分(最典型的例子就是早期的
    Photoshop),保存出来的 PNG 往往巨大无比。现在的软件已经没有这些问题了,但是这个偏见还广泛存在。
时间: 2024-09-26 16:02:58

[转载]GIF、JPEG 和 PNG的区别在哪里?的相关文章

GIF、JPEG 和 PNG的区别在哪…

原文地址:GIF.JPEG 和 PNG的区别在哪里?作者:苗得雨 GIF.JPEG 和 PNG 是三种最常见的图片格式. GIF:1987 年诞生,常用于网页动画,使用无损压缩,支持 256 种颜色(一般叫 8 bit 彩色),支持单一透明色: JPEG:1992 年出世,照片一般都用这个格式,有损压缩,24 bit 真彩色(224 = 17 万种颜色),不支持动画,不支持透明色: PNG:1996 年问世,无损压缩,最常见的使用格式是 256 索引色(PNG-8)和 24 bit 真彩色(PN

【转载】接口和抽象类的区别 --相信你看完不会再混淆了

原文地址:http://www.cnblogs.com/huihui-gohay/archive/2009/12/13/1623070.html   我想,对于各位使用面向对象编程语言的程序员来说,"接口"这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到"面向接口编程"这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问.   1.

【转载】SSD和HDD的区别

1. SSD啟動快,因為其沒有電機加速旋轉的過程. 2. SSD不需要依靠磁頭,它能快速隨機讀取,延遲時間極少.相關測試報告顯示,在兩台同樣配置的筆記本電腦中,搭載固態硬盤的筆記本從開機到出現桌面一共只用了18秒,而搭載傳統硬盤的筆記本共耗費31秒,兩者存在非常明顯的差距. 3. SSD擁有相對固定的讀取時間.由於尋址時間與數據儲存位置無關,因此磁盤碎片不會影響讀取的時間. 4. 基於DRAM的固態硬盤寫入速度極快. 5. SSD工作時幾乎不產生任何噪音.因為沒有機械馬達和風扇,SSD工作時的噪

PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析_php技巧

本文实例分析了PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法.分享给大家供大家参考,具体如下: imagecreatefrom 系列函数用于从文件或 URL 载入一幅图像. 载入图像 imagecreatefrom 系列函数用于从文件或 URL 载入一幅图像,成功返回图像资源,失败则返回一个空字符串. 该系列函数有: imagecreatefromgif():创建一块画布,并从 GIF 文件或 URL 地址载入一副图像 imagecreatefromjpeg(

“黑屏门”再次提醒了我网站的生存之道.

中介交易 SEO诊断 淘宝客 云主机 技术大厅 10月20日起微软在中国推出两个重要更新--Windows正版增值计划通知(简称WGA)和Office正版增值计划通知(简称OGA).届时,盗版XP专业版用户的桌面背景每隔1小时将被成纯黑色,盗版Office用户软件上将被永久添加视觉标记.一夜之间,无数朋友都在交换着这个信息,这场正版与盗版之间的硝烟已经弥漫整个中国. 那么从行业.网站的生存与发展的角度去看待这起正版与盗版的事件我们可以从中挖掘出很多的信息.让我们一点点的分析对比. 8月1日刚刚实

多个维度讲解网站打开速度seo优化的措施

多个维度讲解网站打开速度seo优化的措施 Radware发布的2014年春季电商页面速度与Web性能"调查报告强调了电商页面加载速度的重要性,同时指出很多网站都没有利用最佳的页面seo优化技术,页面加速速度都存在很大缺陷.那么该如何补救,提高网站页面的加载速度呢? seo建站给出了12个页面加载速度优化的补救措施,用以改善加载时间,改善站长浏览者的用户体验.网站运营人员可以通过这些建议来解决页面加载速度难题.编译如下: 网站加载速度 用户体验 网站seo优化 1.合并Js文件和CSS 将JS代码

【转载】四层和七层负载均衡的区别

简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址:三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址:四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器:七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器. ②所谓的四到七层负载均衡,就是在对后台

消息队列和管道的区别(转载)

转载自:http://bbs.chinaunix.net/viewthread.php?tid=265266 作者:beginner-bj 请问管道和消息队列有什么不同  管道通信(PIPE) 管道通信方式的中间介质是文件,通常称这种文件为管道文件.两个进程利用管道文件进行通信时,一个 进程为写进程,另一个进程为读进程.写进程通过写端(发送端)往管道文件中写入信息:读进程通过读 端(接收端)从管道文件中读取信息.两个进程协调不断地进行写.读,便会构成双方通过管道传递信息 的流水线. 利用系统调用

【转载】#pragma once与#ifndef #define #endif的区别

一.相同点        两者的共同点都是为了避免同一个文件被 include 多次,但是 #ifndef #define #endif 不只有这个作用. 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别.   二.收集理解 1.#pragma once        这个是编译器相关,就是说在这个编译系统上能用,在其他编译系统不一定行,即移植性差.不过现在基本上已经是每个编译器都有这个定义了.        此方式由编译器保证同一个文件不会被包含多次.注意