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/