我注意到在某些网站上,在完成加载之前,最终版本下方会显示一个非常低分辨率的图像版本,以给人一种页面加载速度更快的印象。这是怎么做到的?
答案 0 :(得分:5)
这称为渐进式JPEG 。使用Photoshop等工具保存图片时,需要指定要使用此JPEG样式。
我发现了这个Photoshop" Save for Web"对话框示例,您将在其中找到启用的整个 Progressive 选项:
答案 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选项以降低质量损失。