У меня есть код фотогалереи, который делает изменение размера изображения и создание миниатюр. Для этого я использую ImageMagick. Я запустил страницу галереи с помощью инструмента «Скорость страницы Google», и выяснилось, что изображения и миниатюры с размерами и размерами имеют около 10 КБ данных (в частности, файлы JPEG).
Что я могу добавить в свои сценарии для оптимизации размера файла?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Я использую фильтр imagick::FILTER_LANCZOS
с настройкой размытия 0.9
при вызове функции resizeImage()
. JPEG имеют настройку качества 80
.
Я нашел этот вопрос « Инструменты оптимизации JPEG? », Который содержит некоторую полезную информацию, но решения находятся за пределами PHP. Используя подсказки из решений этого вопроса, я обнаружил, что можно выполнить две оптимизации без потерь:
Оба могут быть достигнуты с помощью ImageMagick
таким образом:
Одно изображение, которое я тестировал, было уменьшено на 12 КБ. Размер файла 600×450 вырос с 63,42 КБ до 51,42 КБ, а миниатюра размером 140х105 – с 17,98 КБ до 5,98 КБ.
Запустите свои изображения через службу SmushIt от Yahoo, где изображения преобразуются в PNG с точным количеством цветов. Нет потери качества, но потеря веса 🙂