Негатив изображения на PHP
В PHP есть штатная функция ImageFilter. С параметром IMG_FILTER_NEGATE она преобразует изображение в негатив. Но, как выяснилось на практике, эта функция косячно работает с некоторыми картинками при последовательном преобразовании изображения. Пришлось быстренько набросать свой вариант скрипта, вот что у меня получилось:Code (PHP) : Убрать нумерацию
- // Файл для обработки
- $im=ImageCreateFromJPEG('test.jpg');
- // Размеры изображения
- $width=ImageSX($im);
- $height=ImageSY($im);
- for ($x=0; $x<$width; $x++) {
- for ($y=0; $y<$height; $y++) {
- $rgb=ImageColorAt($im,$x,$y);
- $R=($rgb >> 16) & 0xFF;
- $G=($rgb >> 8) & 0xFF;
- $B=$rgb & 0xFF;
- // Противоположный цвет
- $Rx=255-$R;
- $Gx=255-$G;
- $Bx=255-$B;
- // Добавить цвет в палитру и установить новый цвет пиксела
- $new_color=ImageColorAllocate($im, $Rx, $Gx, $Bx);
- ImageSetPixel($im,$x,$y,$new_color);
- }
- }
- // Прибраться за собой
- ImageDestroy($im);
Просмотров: 1944 | Комментариев: 0
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Комментариeв нет
Добавить комментарий
Заполните форму для добавления комментария