我试图了解网络是否允许查看渐进式JPEG。
假设我们有一个服务器(参见渐进式 jpegs):
$ identify /var/www/test.jpg
/var/www/test.jpg JPEG 2048x1080 2048x1080+0+0 8-bit DirectClass 129KB 0.020u 0:00.019
$ identify -verbose /var/www/test.jpg | grep Inter
Interlace: JPEG
现在,如果我们放置以下 HTML 文档:
$ cat /var/www/test.html
<!DOCTYPE html>
<html>
<head><title>jpg test</title></head>
<body>
<p><img src="test.jpg" width="256" height="128"></p>
</body>
</html>
我试图了解(根据img 元素)是否需要用户代理来下载整个 2048x1080
图像,而渲染区域仅为256x128
.
或者相反,允许一个User Agent考虑渲染区域:256x128
,因此推断它只能处理渐进式JPEG 的一部分。知道拥有全分辨率没有意义,因为它不会向图像添加任何细节(从技术上讲,即使在低分辨率下,质量层也会产生影响,这只是为了简化)。
通常,我想知道在谷歌地图等应用程序中,用户代理是否可以中止(暂停?)当前显示的图像的检索,因为用户决定仅根据解压缩渐进式JPEG的部分结果来放大一些(整个 JPEG 还没有在用户端)。
更新:事实证明,web 在这里使用loading
HTML 中的属性尝试了一种不同的方法:
<img src="example.jpg" loading="lazy" alt="example" />