Blog. Just Blog

Затемнение изображения на PHP

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

Очередной кусочек кода для работы с изображениями на PHP. Сегодня это будет затемнение. Кроме изменения яркости всего изображения, этот эффект можно применять для автоматического создания презентационных изображений или портфолио. Например, можно затемнить часть изображения, а затем наложить на него какой-нибудь текст.

Перебор всех точек изображения и получение цвета вам должен быть знаком, здесь он использовался уже не один раз. Каждая составляющая цвета преобразуется в зависимости от заданного коэффициента затемнения.
  1. // Коэффициент затемнения [0..256] от темного к светлому
  2. $darkness=150;
  3.  
  4. // Файл исходного изображения
  5. $file='image.jpg';
  6.  
  7. $im=ImageCreateFromJPEG($file);
  8. list($width,$height)=GetImageSize($file);
  9.  
  10. for ($y=0$y<$height$y++) {
  11.     for ($x=0$x<$width$x++) {
  12.         $RGB=ImageColorAt($im$x$y);
  13.  
  14.         // Затемнить каждую точку изображения
  15.         $R=intval((($RGB >> 16) & 0xFF)*$darkness/256);
  16.         $G=intval((($RGB >> 8) & 0xFF)*$darkness/256);
  17.         $B=intval(($RGB 0xFF)*$darkness/256);
  18.  
  19.         $color=ImageColorAllocate($im,$R,$G,$B);
  20.         ImageSetPixel($im,$x,$y,$color);
  21.     }
  22. }
  23. // Отправить изображение в браузер
  24. Header('Content-type: image/jpeg');
  25. ImageJPEG($im,NULL,100);
  26.  
  27. ImageDestroy($im);
Если динамически менять коэффициент затемнения, то можно получить красивый градиентный переход. Вот так это выглядит на реальном примере. Для большего эффекта я сделал изображение с несколькими надписями.

Затемнение изображения на PHP
Затемнение изображения на PHP

Это не графический редактор, все сгенерировано скриптом в автоматическом режиме.

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 287 | Комментариев: 4

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

Комментарии

Отзывы посетителей сайта о статье
ManHunter (31.03.2022 в 23:51):
Ну а что, симпатичная деваха, умеет борщ варить, пельмени лепить, в постели не бревно.
Комментатор (31.03.2022 в 23:46):
Сразу видно, что автор давний поклонник творчества известной народной актрисы Александры Серовой. :)
ManHunter (17.03.2022 в 10:27):
CSS - это если надо просто вывести красиво. А если надо промаркировать, то тут только серверная сторона. Задачи совершенно разные.
кодер (17.03.2022 в 08:19):
Кстати да, в этом ещё может быть смысл, например, чтоб сделать заимствованные картинки более уникальными для поисковиков. А просто для подобных эффектов я уже предпочитаю CSS3 или canvas.

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

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

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