Как уменьшить картинку на PHP?
Imagemagick является очень мощным инструментом обработки изображений для командной строки. Его часто называют Фотошопом для командной строки.
Наиболее часто imagemagick используется в Web’e для изменения размера картинки. Но как это делать правильно для PHP?
Для начала убедитесь, что imagemagick установлен:
sudo apt-get install imagemagick
Изменение размера картинки
В PHP есть модуль работы с imagemagick, но можно использовать и обычную версию командной строки и exec:
exec('convert input.jpg -resize 300x300 output.jpg');
-
- input.jpg – путь к оригиналу картинки
-
- output.jpg – путь, куда будет сохранен результат
Вырезание квадратной картинки
Часто нужно не только уменьшить картинку, а еще и вырезать из нее квадратную область для соответствия верстке:
exec('convert input.jpg -resize 50x50 **-gravity Center -crop 50x50+0+0** output.jpg');
Оптимизация картинок
Часто картинки содержат в себе кучу дополнительной информации (мета-данные), которые не нужны, когда речь идет о картинках и фотках для сайта. Imagemagick умеет вырезать такой мусор:
exec('convert input.jpg 50x50 **-strip** output.jpg');
Уровень качества и размер
Вы можете также попробовать изменить уровень сжатия для того, чтобы получить минимальный размер при приемлемом качестве:
exec('convert input.jpg 50x50 -strip **-quality 75** output.jpg');
-quality может принимать значения от 1 (худшее качество, размера почти нет) до 100 (лучшее качество, нереальный размер).
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: