如何显示JPG图像以便首先显示非常低的分辨率?

时间:2014-07-13 20:06:59

标签: html css image jpeg

我注意到在某些网站上,在完成加载之前,最终版本下方会显示一个非常低分辨率的图像版本,以给人一种页面加载速度更快的印象。这是怎么做到的?

3 个答案:

答案 0 :(得分:5)

这称为渐进式JPEG 。使用Photoshop等工具保存图片时,需要指定要使用此JPEG样式。

我发现了这个Photoshop" Save for Web"对话框示例,您将在其中找到启用的整个 Progressive 选项:

enter image description here

答案 1 :(得分:0)

您要求的取决于所使用的解码器和显示软件。如上所述,它出现在渐进式JPEG图像中。在这种类型的JPEG中,系数被分解为单独的扫描。

解码然后需要在解码扫描之间更新图像,而不是仅仅在图像的末尾。

在拨号调制解调器的日子里,更需要这个。除非图像非常大,否则只需等待并显示整个图像就会更快。

如果您正在编程,您使用的显示软件可能有扫描后更新的选项。

现在大多数库都使用一种模型,您可以将图像文件流解码为通用图像缓冲区。然后显示图像缓冲区。在这个模型中,通常没有地方可以动态显示图像。

简而言之,您可以通过创建渐进式JPEG图像来启用此功能。图像是否显示依赖于整个用于显示图像的内容。

答案 2 :(得分:0)

作为替代方案,您可以使用ImageMagick's convert命令批量优化所有图片:

convert -strip -interlace plane input.jpg output.jpg

您可以使用these other options代替plane

或者只使用PJPEG

作为输出文件名的前缀
convert -strip input.jpg PJPEG:output.jpg

随着正确的文件搜索或文件名扩展(例如):

for i in images/*; do
    # Your conversion command
done

strip选项用于摘录任何个人资料或评论,以进行转换" 清洁"。您可能还需要设置-quality选项以降低质量损失。