Image Magick: оптимизация изображений для веб-сайтов

У меня есть камера, которая производит фотографии размером 3008x2000 пикселей. Я использую Image Magick для масштабирования и изменения размера фотографий для размещения на моем веб-сайте. Размер изображений, которые я использую на веб-сайте, составляет 602x400. Я использую эту команду для уменьшения размера:

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

Это создает изображение размером 602x400 пикселей. Но размер файла будет всегда выше 250 КБ. Больше изображений на одной странице html означает, что страница будет тяжелее, а время загрузки будет больше. Есть ли какие-либо функции в магии изображения, которые помогут мне сохранить размер файла как можно меньше, возможно, ниже 100 КБ. Но размер изображения должен быть таким же, то есть 602x400px. Я добился аналогичной оптимизации с помощью SEAMonster инструментария для MS Windows. Поскольку у него нет альтернативы с командной строкой, это не будет очень полезно, когда сотни изображений будут преобразованы.

Ответ 1

Используйте команду как Delan, предлагаемую с дополнительным флагом "-strip", чтобы удалить данные EXIF, это значительно уменьшило размер некоторых моих изображений. Вот платформа bash script для unix, но вы можете использовать вторую часть только для отдельных изображений.

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

Это преобразует все изображения в каталог.

Ответ 2

Используйте -quality для установки уровня сжатия:

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

Ответ 3

Вы можете определить максимальный размер выходного изображения на 100 КБ следующим образом:

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

Ответ 4

Если вы используете свой веб-сайт на PHP, вам может потребоваться изменить размер изображения SLIR script, он отлично справляется с различными ограничениями (см. ниже) и кэширует результаты.

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/