用 javascript 实现图片模糊到清晰载效果指南
用 javascript 实现图片模糊到清晰载效果指南
1.背景介绍
在网络相册应用中用户查看照片是最朴素的需求,当网络比较慢
的时候查看照片等待的时间是比较长的,用户体验会很差。
2.现状
(1)最原始的方式在 html 页面直接用 img 标签加载显示照片。
该方法在网络速度比较慢或者要显示的照片比较大的 '时候会页面出现
空白的等待过程,并且不能开始给用户看到照片大概的情况,用户体
验比较不好。
(2)在 html 页面先用 img 标签加载显示照片的缩略图,同时用
javascript 隐藏的加载照片的原图,等照片大图加载完成后再将原图显
示到页面中。以下是流程图:
QQ 相册最近做的一些优化方法解决了上诉两个方法的缺点和满足
了用户查看照片的需求:第一时间看到照片大概情况和尽可能快的看
到清晰的原图。该方法使用缩略图和原图同时加载并叠加显示,先加
载缩略图并拉大显示,大图叠加在缩略图上面同时加载。缩略图很小
通常很快就能给用户看到照片模糊的效果,大图加载过程中从上往下
逐步覆盖缩略图,这样用户就可以看到加载过程中的大图。
(1)示例图
1).获取照片缩略图和原图的 URL,获取照片的长和宽;
2).加载并显示照片缩略图,将缩略图按照片的长和宽拉伸显示,
这时用户看到的是模糊的效果;
3).加载并显示照片原图,将原图叠加在缩略图上面显示,原图加
载多少就显示多少,没有加载的还是显示缩略图,逐步将缩略图覆盖
掉,原图在加载的过程中用户看到的是照片从模糊到清晰的渐变效果。