Клас за обработка, добавяне на ефекти и изрязване на изображения в PHP - Всичко за уеб разработката на
PHP има чудесна GD2 библиотека за работа с изображения. С него можете да правите различни манипулации с изображения, като негатив, сива скала, воден знак, яркост, контраст и т.н. Всичко това може да се направи, но самата библиотека няма API за това, трябва сами да опишете цялата обработка. Всички такива велосипеди обаче са написани отдавна и един от най-добрите в тази област е класът tulipIP.
В тази статия ще ви покажа как да работите с този пакет, използвайки примери. Първо, малка демонстрация на работа. Преди:
.


Пакетът TulipIP изисква библиотеката gd 2, за да работи.Можете да я изтеглите тук Файл tulipIP клас за работа с изображения в php Нека да видим какво може да прави:
Вземете оригиналното изображение на Toyota

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

преоразмеряване - преоразмеряване на изображението
rotate - завъртане на изображението

воден знак - добавяне на воден знак

writeTexts - вмъкнете произволни текстове в изображението

сиво - нюанси на сивото

negativ - фото негатив

gblur - размазване по Гаус

Яркост - яркостта на изображението, където нивото варира в диапазона (-255 255)

контраст - контраст, диапазон (-100,100)

colorize - оцветяване по цвят

gamma - Гама корекция, където нивото на корекция е в диапазона (0.01,4.99)

edge - избор на ръбове на обект



Почти всички от горните методи (с изключение на воден знак, писане на текст, изрязване, преоразмеряване, завъртане) имат подобни функции за работа с фрагмент от изображение. В този случай има два класа функции: първите прилагат ефекта към посочения фрагмент от изображението, а вторият - към областта, която не е включена в посочения фрагмент. Ето таблица с поддържаните методи:
В допълнение към основните параметри, методите *_part и *_invert получават още 4
$x,$y - координатите на горния ляв ъгъл на фрагмента
$width,$height - ширина и височина на фрагмента
Например, приложете филтър - скала на сивото към половината от изображението

Методите *_invert работят по абсолютно същия начин, само че прилагат ефекта не към посочения фрагмент, а към тази част от изображението, която не е включена във фрагмента, т.е. ако по-горе в кода променим частта на инвертиране, тогава ще видим следния резултат

Така с помощта на php можете да създавате интересни ефекти върху изображения, без да използвате обемисти пакети за настолни компютри като Photoshop.
