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