前端开发常见图片格式详解
前端开发设计,打交道最多的就是图片啦~今天就来个图片格式讲解,也许一些围绕你的问题可以在这篇文章中找到答案
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(PNG8)和全色的png(PNG24、 PNG32),你完成可以用256色的png代替gif,用全色的png代替jpeg
透明性
Png是完全支持alpha透明的(透明,半透明,不透明),尽管有两个怪异的现象在ie6(下面详细讨论)
动画
它不支持动画
无损耗性
png是一种无损耗的图像格式,这也意味着你可以对png图片做任何操作也不会使 得图像质量产生损耗。这也使得png可以作为jpeg编辑的过渡格式
水平扫描像GIF一样,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中会出现背景颜色(通常是灰色)。
由上面可以总结:
- 全透明的png8可以在任一浏览器正常显示(就像gif一样)。半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器 都能正常显示半透明。这个bug并不需要特殊对待,因为在不支持半透明的浏览器下只是显示为全透明,对用户体验影响不大,它反而是透明gif的加强版。
- 第二个bug没有什么好的方法解决,只能通过影响性能的方法AlphaImageLoader与需要加特殊标签(VML)。
因此得出结论就是:请使用PNG8。
Png8的软件问题
- Photoshop只 能导出布尔透明的PNG8。
- Fireworks既能导出布尔透明的PNG8,也能导出alpha透明的PNG8.
- pngquant与pngnq这两个命令行软件可以转换全色png为 256色的png8。
建议继续学习:
- 图片动态局部毛玻璃模糊效果的实现 (阅读:13613)
- 淘宝图片存储架构 (阅读:9935)
- 解决IE6从Nginx服务器下载图片不Cache的Bug (阅读:7166)
- When we`re only No.2, we try harder之聊天表情设计小探讨 (阅读:6520)
- 精于图片处理的10款jQuery插件 (阅读:6284)
- phpThumb:强大的缩微图类 (阅读:5477)
- js实现预加载图片让图片快速显示 (阅读:5006)
- 利用开源的Gearman框架构建分布式图片处理平台[原创] (阅读:4278)
- 使用数据库存放图片 (阅读:4200)
- 通过php+imagick 创建PDF图片预览 (阅读:3970)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:simondai 来源: 流金岁月
- 标签: 图片 格式
- 发布时间:2010-06-22 13:16:34
- [71] Twitter/微博客的学习摘要
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [63] Go Reflect 性能
- [63] find命令的一点注意事项
- [62] android 开发入门
- [61] 流程管理与用户研究
- [59] 读书笔记-壹百度:百度十年千倍的29条法则
- [59] 图书馆的世界纪录
- [59] Oracle MTS模式下 进程地址与会话信