原文来自 http://www.hdj.me/use-progressive-jpeg-in-web

看着不错,于是粘贴了过来

今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式)。两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别是二者显示的方式不同。

Baseline JPEG

这种类型的JPEG文件存储方式是按从上到下的扫描方式,把每一行顺序的保存在JPEG文件中。打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。如果文件较大或者网络下载速度较慢,那么就会看到图片被一行行加载的效果,这种格式的JPEG没有什么优点,因此,一般都推荐使用Progressive JPEG。

Progressive JPEG

和Baseline一遍扫描不同,Progressive JPEG文件包含多次扫描,这些扫描顺寻的存储在JPEG文件中。打开文件过程中,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。这种格式的主要优点是在网络较慢的情况下,可以看到图片的轮廓知道正在加载的图片大概是什么。在一些网站打开较大图片时,你就会注意到这种技术。

渐进式图片带来的好处是可以让用户在没有下载完图片就可以看到最终图像的大致轮廓,一定程度上可以提升用户体验。(瀑布留的网站建议还是使用标准型的)

另外渐进式的图片的大小并不会和基本的图片大小相差很多,有时候可能会比基本图片更小。渐进式的图片的缺点就是吃用户的CPU和内存,不过对于现在的电脑来说这点图片的计算并不算什么。

最新文章

  1. 为easyui datagrid 添加上下方向键移动
  2. K米APP案例分析
  3. ios之申请后台延时执行和做一个假后台的方法(系统进入长时间后台后,再进入前台部分功能不能实现)
  4. hugo-最好用的静态网站生成器
  5. 斯坦福大学CS224d基础1:线性代数回顾
  6. string 字符串的分隔处理与list的相互转换
  7. BZOJ_2049_[Sdoi_2008]_Cave_洞穴勘测_(LCT/并查集)
  8. hdu 4111 Alice and Bob
  9. 'swap file "xx" exists' linux
  10. git和SVN的区别
  11. C#之out修饰符、ref修饰符、params修饰符的简单介绍
  12. MyBatis 笔记总结
  13. dJango前言之 socketserver源码
  14. hibernate 持久化对象的三个状态
  15. layui_表格数据查询按钮
  16. ios中[UIScreen mainscreen].bounds 的大小是由什么决定的?
  17. 解决jenkins的内存溢出问题
  18. Flask学习-Flask app启动过程
  19. 网站连接数据库连接不上原因是ip地址与端口号格式不对
  20. C++实现从一个文件夹中读出所有txt文件

热门文章

  1. [USACO06NOV]玉米田Corn Fields(动态规划,状态压缩)
  2. 让微信内置浏览器兼容clipboard.js 复制粘贴 ios 安卓
  3. mysql的数据操作和内置功能总结
  4. JAVAOOP I/O
  5. sql语句中#{}和${}的区别
  6. C# 用HttpWebRequest模拟一个虚假的IP伪造ip
  7. python2.7练习小例子(九)
  8. Laravel框架
  9. http报文和浏览器缓存机制
  10. Oracle11.2.0.3 RAC配置ODBC成功案例记录