Клас для обробки, додавання ефектів та обрізки зображень на PHP - Все про web розробку на PHP
У php для роботи із зображеннями є чудова бібліотека GD2. За допомогою неї можна робити із зображеннями різні маніпуляції такі, як негатив, відтінки сірого, ватермарка, яскравість, контраст та ін. Все це можна робити, але в бібліотеці немає API для цього, всю обробку потрібно описувати самому. Однак усі подібні велосипеди давно написані і одним із найкращих на цьому полі є клас tulipIP.
У цій статті я розповім, як працювати з цим пакетом на прикладах. Спочатку невелика демонстрація роботи. До:
.


Пакет TulipIP вимагає для роботи бібліотеку gd 2. Завантажити його можна тут Файл Клас tulipIP для роботи із зображеннями в php
Візьмемо вихідне зображення Toyota'и

Пакет із коробки дозволяє застосовувати такі ефекти до зображення:
crop - обрізання зображення по заданому прямокутнику
flip - відображення по вертикалі по горизонталі

resize - зміна розмірів зображення
rotate - обертання зображення

watermark - додавання ватермарки

writeTexts - вставка довільних текстів у зображення

gray - відтінки сірого

negate - негатив фотографії

gblur - розмиття по Гаусу

Brightness – яскравість зображення, де рівень змінюється в діапазоні (-255 255)

contrast – контрастність, діапазон (-100,100)

colorize - колоризація кольором

gamma - Гамма-корекція, де рівень корекції в діапазоні (0.01,4.99)

edge – виділення граней об'єктів



Майже всі зазначені вище методи (крім watermark, writetext, crop, resize, rotate) мають аналогічні функції до роботи з фрагментом зображення. При цьому є два класи функцій: перші застосовують ефект до вказаного фрагмента зображення, другий до тієї області, яка не входить у вказаний фрагмент. Ось таблиця підтримуваних методів:
У методи *_part і *_invert крім основних параметрів подаються ще 4
$x,$y - координати верхнього лівого кута фрагмента
$width,$height - ширина та висота фрагмента
Наприклад застосуємо фільтр - відтінки сірого до половини зображення

*_invert методи, що працюють так само, тільки застосовують ефект не до вказаного фрагмента, а до тієї частини зображення яка не входить у фрагмент, тобто. якщо вище у коді поміняти part на invert то ми побачимо такий результат

Таким чином, за допомогою php можна робити цікаві ефекти над зображеннями без використання громіздких десктопних пакетів типу Photoshop.
