Я пытаюсь понять, позволяют ли в Интернете просматривать прогрессивный JPEG или нет.
Предположим, у нас есть сервер, где (см. Прогрессивные JPEG):
$ 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
.
Или, наоборот, пользовательский агент может принимать во внимание область рендеринга: 256x128
, и, следовательно, вывести его может только часть прогрессивного JPEG. Зная, что не имеет смысла иметь полное разрешение, так как оно не добавит никаких деталей к изображению (технически слой качества должен влиять даже при низком разрешении, это просто для упрощения).
Как правило, я хотел бы знать в приложении, таком как Google Maps, может ли пользовательский агент прервать (приостановить?) Получение отображаемых в данный момент изображений, поскольку пользователь решает увеличить еще немного, основываясь только на частичном результате распаковки прогрессивного JPEG (весь JPEG еще не на стороне пользователя).
Обновление: Оказывается, что веб пытается здесь другой подход с атрибутом loading
в HTML:
<img src="example.jpg" loading="lazy" alt="example" />