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

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

  1. <?php
  2. # col (количество цветов) 0 для серого, 1 для красного, 2 зелёного, 3 синего
  3.  
  4. function MakeColoursGrey($im,$col){
  5. $total=ImageColorsTotal($im);
  6. for($i=0;$i<$total;$i++){
  7. $old=ImageColorsForIndex($im,$i);
  8. $commongrey=(int)($old['red']+$old['green']+$old['blue'])/3;
  9. if(!$col){
  10. ImageColorSet($im,$i,$commongrey,$commongrey,$commongrey);
  11. }elseif($col==1){
  12. ImageColorSet($im,$i,$commongrey,0,0);
  13. }elseif($col==2){
  14. ImageColorSet($im,$i,0,$commongrey,0);
  15. }elseif($col==3){
  16. ImageColorSet($im,$i,0,0,$commongrey);
  17. }
  18. }
  19. }
  20.  
  21. $img=imagecreatefromgif($src);
  22.  
  23. // выбираем изображение и цвет
  24. MakeColoursGrey($img,$col);
  25.  
  26. // задаём для хедера нужный тип
  27. Header("Content-Type: image/gif");
  28.  
  29. // возвращаем изображение
  30. ImageGif($img);
  31. ?>


  13.04.24 / 06:20 | PHP |   107 | 2   0