我有一个高分辨率基线 JPEG,我想为我的网站将其从 6MB 压缩到 +- 300kb 并使其渐进式。
现在我知道如何同时执行这两项操作,使用 Photoshop 进行渐进式处理,并使用在线工具或 gulp/grunt 任务进行压缩。
我想知道图像的最佳顺序是什么(最佳质量):
首先对原图进行压缩,然后进行渐进。
首先使其渐进,然后压缩图像。
没关系:)
至于质量,这是一个困难的决定,因为它取决于图像 - 你没有显示。如果您打算将尺寸缩小 20 倍,那么您必须预料到质量会有所下降。因此,我将让您评估质量。至于加工...
您可以使用 ImageMagick 同时执行这两项操作,它安装在大多数 Linux 发行版上,并且适用于 macOS 和 Windows。
检查输入图像大小是否为 6MB:
ls -lrht input.jpg
-rw-r--r-- 1 mark staff 6.0M 2 Dec 16:09 input.jpg
检查输入图像是否隔行扫描:
identify -verbose input.jpg | grep -i interlace
Interlace: None
转换为逐行/隔行 JPEG 且大小为 300kB:
convert input.jpg -interlace plane -define jpeg:extent=300KB result.jpg
检查大小现在低于 300kB:
ls -lhrt result.jpg
-rw-r--r--@ 1 mark staff 264K 2 Dec 16:11 result.jpg
现在检查隔行扫描:
identify -verbose result.jpg | grep -i interlace
Interlace: JPEG
您还可以使用比
ImageMagick更轻的
jpegtran
:
jpegtran -copy none -progressive input.jpg output.jpg
JPEG 压缩通过删除一些不太明显的细节来帮助减小图像的文件大小。 渐进式 JPEG 首先加载低分辨率版本,然后逐渐提高质量,使它们在网络上加载速度更快。