Image Magick: оптимизация изображений для веб-сайтов - PullRequest
14 голосов
/ 13 августа 2011

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

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

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

Ответы [ 4 ]

29 голосов
/ 13 августа 2011

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

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

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

8 голосов
/ 13 августа 2011

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

convert DSC_0124.JPG -scale 20% -size 24% -quality [0..100] img1.jpg
3 голосов
/ 30 июля 2014

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

convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg
2 голосов
/ 14 августа 2011

Если вы используете свой веб-сайт на 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/

...