所以我浏览了这个页面:http://360langstrasse.sf.tv/ 它基本上是一个Javascript-Street View,但只允许一个方向。因此它有点像在看电影。 当我快速移动时,我注意到图像是颗粒状/像素化的,就像浏览Facebook时一样。
我想知道如何实现这个? 我尝试在标记中发送小的base64编码图像,然后在画布上绘制它,直到加载“真实”图像。
这很好用,但让我想到这是否确实会提高性能,或者像facebook这样的网站会采用不同的方式吗?
提前感谢您的帮助。
问候Jens
编辑:或者他们只是以不同方式显示图像?还有另一个渲染过程吗? 因为我没有看到装载任何小图像?
编辑2:下面提到的首先加载小图像的选项在这里很好地描述:http://www.phpied.com/picassa-progressive-image-rendering/ 但基本上它很简单。
答案 0 :(得分:0)
我认为缓存(具有页内)错误分辨率的图像并且更好地获取是实现此目的的真正方法。
另一种方式是以正常方式链接到小图像,并使用JS获取更大 - 小图像应该加载非常快,或者您可以订阅他们的加载事件(在IE中很棘手)并显示页面(删除一些覆盖)一旦加载。
BTW,您可以将base64直接放入src
<img src="data:image/png;base64,...
答案 1 :(得分:0)
答案是渐进式JPEG! 例如,用imagemagick创建一个。这样浏览器逐渐呈现,直到中止或完成。这些图像可能比正常图像大,但并非总是如此。 此外,它们提供了在完全下载之前可以看到的能力。
感谢您的帮助!