аватар |

Статьи / PHP /

Функция PHP для конвертации изображения в чёрно-белое

Функция PHP для конвертации изображения в чёрно-белое.
В созданной функции используем встроенные:
ImageColorsTotal - встроенная функция, сколько всего цветов в изображении.
Imagecreatefromgif - создаёт новое изображение из файла или URL.

Код PHP

<?php
# col (количество цветов) 0 для серого, 1 для красного, 2 зелёного, 3 синего

function MakeColoursGrey($im,$col){
 $total=ImageColorsTotal($im);
 for($i=0;$i<$total;$i++){
   $old=ImageColorsForIndex($im,$i);
   $commongrey=(int)($old['red']+$old['green']+$old['blue'])/3;
   if(!$col){
    ImageColorSet($im,$i,$commongrey,$commongrey,$commongrey);
   }elseif($col==1){
    ImageColorSet($im,$i,$commongrey,0,0);
   }elseif($col==2){
    ImageColorSet($im,$i,0,$commongrey,0);
   }elseif($col==3){
    ImageColorSet($im,$i,0,0,$commongrey);
   }
 }
}

$img=imagecreatefromgif($src);

// выбираем изображение и цвет
MakeColoursGrey($img,$col);

// задаём для хедера нужный тип
Header("Content-Type: image/gif");

// возвращаем изображение
ImageGif($img);
?>

Спасибо за внимание!
 



Похожие статьи


Комментарии к статье (vk.com)