Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Как на PHP правильно ресайзить картинки с прозрачностью

29.10.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Как на PHP правильно ресайзить картинки с прозрачностью

Многие начинающие программисты на PHP, когда дело доходит до работы с графикой, сталкиваются с одной и той же проблемой. При ресайзе у прозрачных картинок GIF и PNG получается черный фон, прозрачность при этом теряется. В интернете полно примеров готовых скриптов для автоматического ресайза картинок, где раз за разом повторяется эта ошибка. Давайте попробуем разобраться, как на PHP правильно ресайзить картинки с прозрачностью.

Читать статью целиком »
Просмотров: 1928 | Комментариев: 3

Эффект пикселизации на PHP

28.09.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект пикселизации на PHP

Очередная реализация графических эффектов на PHP. На этот раз будет эффект пикселизации. Он заключается в следующем: изображение делится на квадраты (блоки) нужного размера, в каждом из них определяется основной цвет, затем выполняется заливка квадрата полностью этим цветом. Да, я в курсе про существование штатной функции PHP imagefilter с параметром IMG_FILTER_PIXELATE, но "ручная" реализация шире по возможностям и гораздо полезнее для мозгов.

Читать статью целиком »
Просмотров: 1871 | Комментариев: 6

Исследование защиты программы Photo to Cartoon

22.09.2016 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Photo to Cartoon

Графический редактор Photo to Cartoon позволяет преобразовать любую фотографию в рисунок. Все действия выполняются буквально за несколько движений мышью. Идея таких эффектов не нова, в интернете существует немало программ с подобным функционалом, так что Photo to Cartoon мне интересна исключительно с исследовательской точки зрения.

Читать статью целиком »
Просмотров: 1977 | Комментариев: 14

Эффект выборочного цвета на PHP

15.07.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект выборочного цвета на PHP

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

Читать статью целиком »
Просмотров: 1899 | Комментариев: 13

Определение основного цвета изображения на PHP

04.06.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
В различных поисковых системах есть возможность поиска изображения по цвету, например, "только синие" или "только зеленые". Естественно, это не означает стопроцентную синюю или зеленую заливку, а определяет преобладающий цвет картинки. Такой цвет называется основным. Алгоритм поиска основного цвета очень простой: надо просто подсчитать суммарные значения по каждому из каналов RGB для каждого пиксела изображения, а затем разделить полученные значения на общее количество пикселов. На PHP это реализуется примерно так:
  1. // Файл для определения основного цвета
  2. $im=ImageCreateFromJPEG('test.jpg');
  3.  
  4. $total_R=0;
  5. $total_G=0;
  6. $total_B=0;
  7.  
  8. // Размеры изображения
  9. $width=ImageSX($im);
  10. $height=ImageSY($im);
  11.  
  12. // Подсчитать суммарные значения по RGB
  13. for ($x=0$x<$width$x++) {
  14.     for ($y=0$y<$height$y++) {
  15.         $rgb=ImageColorAt($im,$x,$y);
  16.         $total_R+=($rgb>>16) & 0xFF;
  17.         $total_G+=($rgb>>8) & 0xFF;
  18.         $total_B+=$rgb 0xFF;
  19.     }
  20. }
  21.  
  22. // Прибраться за собой
  23. ImageDestroy($im);
  24.  
  25. // Определение значений RGB основного цвета
  26. $avg_R=round($total_R/$width/$height);
  27. $avg_G=round($total_G/$width/$height);
  28. $avg_B=round($total_B/$width/$height);
Код минимально необходимый, никаких проверок на наличие файла или корректность его внутреннего формата не производится, это вы можете сделать самостоятельно. После выполнения кода получаются три значения каналов RGB основного цвета изображения.

Читать статью целиком »
Просмотров: 6771 | Комментариев: 4

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0464 сек.) / Память: 4.75 Mb
Наверх