Blog. Just Blog

Подсветка изображения на PHP

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Подсветка изображения на PHP
Подсветка изображения на PHP

Это очень похоже на то, когда вы активируете иконку на рабочем столе и прямоугольник, который она занимает, выделяется цветом. Алгоритм практически повторяет разобранный ранее алгоритм затемнения изображения, но тут используется не коэффициент затемнения, а RGB-составляющая цвета подсветки.

Подсветка изображения на PHP
Подсветка изображения на PHP
  1. // Файл с изображением
  2. $im=ImageCreateFromJPEG('image.jpg');
  3.  
  4. $width=ImageSX($im);
  5. $height=ImageSY($im);
  6.  
  7. // Цвет подсветки
  8. $hl_color=0x99ADC1;
  9.  
  10. $Rh=($hl_color >> 16) & 0xFF;
  11. $Gh=($hl_color >> 8) & 0xFF;
  12. $Bh=$hl_color 0xFF;
  13.  
  14. for($x=0$x<$width$x++) {
  15.     for($y=0$y<$height$y++) {
  16.         // Цвет точки
  17.         $RGB=ImageColorAt($im$x$y);
  18.  
  19.         $R=($RGB >> 16) & 0xFF;
  20.         $G=($RGB >> 8) & 0xFF;
  21.         $B=$RGB 0xFF;
  22.  
  23.         // Рамка по краям
  24.         if ($x==|| $y==|| $x==($width-1) || $y==($height-1)) {
  25.             $R=$Rh;
  26.             $G=$Gh;
  27.             $B=$Bh;
  28.         }
  29.         // Изображение
  30.         else {
  31.             $R=intval($R*$Rh/255);
  32.             $G=intval($G*$Gh/255);
  33.             $B=intval($B*$Bh/255);
  34.         }
  35.  
  36.         // Новый цвет точки
  37.         $color=ImageColorAllocate($im$R$G$B);
  38.  
  39.         ImageSetPixel($im$x$y$color);
  40.     }
  41. }
  42.  
  43. // Отправить изображение в браузер
  44. Header('Content-type: image/jpeg');
  45. ImageJPEG($imNULL100);
  46.  
  47. ImageDestroy($im);
Для усиления эффекта граничные точки изображения принудительно заливаются цветом подсветки, но этого можно и не делать.

Поделиться ссылкой ВКонтакте
Просмотров: 268 | Комментариев: 0

Метки: PHP, графика

Комментарии

Отзывы посетителей сайта о статье
Комментариeв нет

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.0036 сек.) / Память: 4.5 Mb
Наверх