Клас для обробки, додавання ефектів та обрізки зображень на 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.

додавання

Платна консультація з питань 1500 руб/год.