Optimization ImageMagick:网站的图像优化
我有一台相机,可以拍摄3008x2000像素的照片。我使用ImageMagick来缩放和调整要放在我网站上的照片的大小。我在网站上使用的图像大小是602x400。我使用此命令减小大小:Optimization ImageMagick:网站的图像优化,optimization,image-processing,imagemagick,Optimization,Image Processing,Imagemagick,我有一台相机,可以拍摄3008x2000像素的照片。我使用ImageMagick来缩放和调整要放在我网站上的照片的大小。我在网站上使用的图像大小是602x400。我使用此命令减小大小: convert DSC_0124.JPG -scale 20% -size 24% img1.jpg 这将生成大小为602x400像素的图像。但文件大小将始终大于250KB。单个html页面上的图像越多,意味着页面越重,加载时间越长。image magic中是否有任何功能可以帮助我将文件大小保持在尽可能小的范围
convert DSC_0124.JPG -scale 20% -size 24% img1.jpg
这将生成大小为602x400像素的图像。但文件大小将始终大于250KB。单个html页面上的图像越多,意味着页面越重,加载时间越长。image magic中是否有任何功能可以帮助我将文件大小保持在尽可能小的范围内(可能在100KB以下)。但图像大小应该相同,即602x400px。我已经通过MS Windows工具实现了类似的优化。由于它没有命令行选项,因此当有数百个图像需要转换时,它不会有多大帮助。使用
-quality
设置压缩级别:
convert DSC_0124.JPG -scale 20% -size 24% -quality [0..100] img1.jpg
使用Delan建议的带有额外“-strip”标志的命令删除EXIF数据,这大大减少了我的一些图像的大小。下面是一个用于unix平台的bash脚本,但第二部分只能用于单个映像
for X in *.jpg; do convert "$X" -resize 602x400 -strip -quality 86 "$X"; done
这将转换目录中的所有图像。
< P>如果你在PHP上运行你的网站,你可能想考虑SIR图像大小调整脚本,它对不同的约束进行了很好的调整,并缓存了结果。p>Parameters:
w Maximum width
h Maximum height
c Crop ratio
q Quality
b Background fill color
p Progressive
您可以将输出图像的最大大小定义为100KB,如下所示:
convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg
小心,要调整大小的“!”标志会忽略纵横比和
可能是特殊的shell字符,通常需要转义。警告:使用相同输入和输出文件名的convert
可能是不安全的操作。要么写入临时文件名并有条件地覆盖原始文件,要么只使用mogrify(ImageMagick套件的一部分)。mogrify(1)
的手册页中说明“mogrify覆盖原始图像文件,而convert(1)写入不同的图像文件。”