GIF 、JPEG、PNG的区别
来源:互联网 发布:java开发框架是什么 编辑:程序博客网 时间:2024/05/16 08:57
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 往往巨大无比。现在的软件已经没有这些问题了,但是这个偏见还广泛存在。
- GIF 、JPEG、PNG的区别
- gif,png,jpeg,区别
- GIF、JPEG 和 PNG的区别
- png、jpeg、bmp、gif区别
- 常见图片格式jpg、jpeg、png、gif等之间的区别
- 总结:Web中关于JPEG 、PNG和GIF的区别
- BMP、GIF、JPEG、PNG、SVG、WebP区别
- GIF、JPEG、PNG比较
- jpg、jpeg、png、gif、bmp、tiff、ai、cdr、eps 图片格式的区别
- GIF、JPEG 和 PNG的区别在哪…
- BMP、PCX、PNG、JPEG、GIF图形格式区别
- 常见图片格式jpg、jpeg、png、gif等有什么区别
- JPEG vs PNG vs GIF
- 让你的PHP同时支持GIF、png、JPEG
- 让你的PHP同时支持GIF、png、JPEG
- GIF、JPEG 和 PNG 是三种最常见的图片格式分析。
- 加载JPG / JPEG / GIF / PNG 格式的图片
- png,jpeg,gif和eps格式的互转问题
- json学习
- C++和VC++还有Visual Studio
- 对 Message 和 Handle 的机制理解 必须写一个例子学习
- 淘宝2011.9.21校园招聘会笔试题
- A*寻路初探
- GIF 、JPEG、PNG的区别
- 构造函数与析构函数的比较
- 仿苹果系统桌面任务栏
- XCode里插入调试断点,程序却不停止的解决方法
- 搭建交叉编译环境
- 自己动手实现IOC和MVC(一)
- panel 误删
- 2012校招之创新工厂远程面试
- error C2662, cannot convert ‘this’ pointer from ‘const class ’ to ‘class &’