PHP работа с изображением, класс SimpleImage
В одном интересном для меня зарубежном блоге я наткнулся на очень полезный и функциональны PHP класс для работы с изображениями, SimpleImage. Этот класс позволяет совершать с изображениями практически все мыслимые(а может и немыслимые) манипуляции. В частности это переворот, трансформация, изменения размеров по ширине и высоте, пропорциональный ресайзинг, обрезка изображения, водяной знак, наложения текста и многое другое.
Одним из приятных дополнений является возможность сохранения полученного результата в отдельный фал в формате GIF, при этом качество сохраняется весьма на высоком уровне, а размер файла получается минимальным.
Разумеется для всего этого есть штатные набор средств для работы с изображениями в PHP библиотеки GD, но работать на прямую с ней не всегда удобно и эффективно.
Пример инициализации класса:
$img = new SimpleImage('image.jpg'); $img->flip('x')->rotate(90)->best_fit(320, 200)->sepia()->save('result.gif'); |
Класс содержит следующий набор методов:
- flip() – Поворачивает изображения по вертикали или горизонтали
- rotate() – Поворот изображения на заданный угол
- auto_orient() – Регулирует ориентацию на основе EXIF данные изображения
- resize() – Изменяет размер изображения до указанной ширины / высоты
- fit_to_width() – Пропорциональное изменение размера изображения до заданной ширины
- fit_to_height() – Пропорциональное изменение размера изображения до заданной высоты
- best_fit() – Пропорциональное изменение размера изображения до соответствия рамкам ширины и высоты
- crop() – Обрезает изображение из X1/Y1 до X2/Y2
- square_crop() – Обрезает изображение до указанного квадрата
- desaturate() – Преобразовывает изображение в черно-белое
- invert() – Инвертирует изображение
- brightness() – Регулирует яркость изображения
- contrast() – Регулирует контраст изображения
- colorize() – Применяет цветовые фильтры
- edges() – Применяет фильтры по краям
- emboss() – Применяет выборочные, составные фильтры
- mean_remove() – Удаление фильтров
- blur() – Размытие изображение по Гаусу
- sketch() – Фильтр: Эскиз изображения
- smooth() – Фильтр: Гладкое изображения
- pixelate() – Пиксилизация изображения на блоки заданного размера
- sepia() – Фильтр: сепия
- overlay() – Водяной знак. Наложения одного изображения на другое
- text() – Добавление текста на изображение
Как видно функционал достаточно богат и тем самым класс SimpleImage может заменить большое количество самописных костылей и прочих мелких скриптов по работе с изображениями которые вы навояли в процессе работы над проекто (это я о себе:) конечно)
Последнюю версию класса вы всегда найдите на GitHab, там же сможете его и скачать.

Автор:






