Image Magick:网站的图像优化

时间:2011-08-13 03:38:09

标签: optimization image-processing imagemagick

我有一台相机可以拍摄3008x2000像素的照片。我使用Image Magick来缩放和调整要在我的网站上放置的照片的大小。我在网站上使用的图像大小为602x400。我使用此命令来减小大小:

convert DSC_0124.JPG -scale 20% -size 24% img1.jpg

这会产生尺寸为602x400像素的图像。但文件大小将始终高于250KB。单个html页面上的更多图像意味着页面会更重,加载时间会更长。图像魔术中是否有任何功能可以帮助我保持文件大小尽可能小,可能低于100KB。但图像大小应该相同,即602x400px。我已经使用MS SEAMonster工具实现了类似的优化。因为它没有命令行替代方案,所以当有数百个图像需要转换时,它不会有太大帮助。

4 个答案:

答案 0 :(得分:28)

使用Delan提出的命令,附加“-strip”标志来删除EXIF数据,这大大减少了我的一些图像的大小。这是unix平台的bash脚本,但是你可以仅将第二部分用于单个图像。

for X in *.jpg; do convert "$X" -resize 602x400 -strip -quality 86 "$X"; done

这将转换目录中的所有图像。

答案 1 :(得分:8)

使用-quality设置压缩级别:

convert DSC_0124.JPG -scale 20% -size 24% -quality [0..100] img1.jpg

答案 2 :(得分:3)

您可以将输出图像的最大大小定义为100KB,如下所示:

convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg

答案 3 :(得分:2)

如果您在PHP上运行您的网站,您可能需要考虑SLIR图像大小调整脚本,它可以很好地调整各种约束(见下文)并缓存结果。

Parameters:
w    Maximum width
h    Maximum height
c    Crop ratio
q    Quality
b    Background fill color
p    Progressive

http://shiftingpixel.com/2008/03/03/smart-image-resizer/

http://code.google.com/p/smart-lencioni-image-resizer/