Быстрый поиск
Введите фрагмент названия статьи для поиска
Ресайз изображений с размытым фоном на PHP
17.04.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
Ресайз изображений с размытым фоном на PHP
Некоторое время назад я обратил внимание на интересный графический эффект, который используется в телевидении и социальных сетях. Он применяется, например, для разворачивания вертикального видео на горизонтальный экран без черных полос по бокам, для подгона разномастных изображений под единый формат. Суть этого эффекта заключается в том, что оригинальный кадр или снимок растягивается под нужный размер по ширине или высоте, из его середины вырезается участок нужного размера и сильно размывается. На полученную подложку накладывается оригинальное изображение.
Читать статью целиком »
Просмотров: 3452 | Комментариев: 9
Негатив изображения на PHP
04.03.2017 | Категория: Web-мастеру и не только | Автор: ManHunter
В PHP есть штатная функция ImageFilter. С параметром IMG_FILTER_NEGATE она преобразует изображение в негатив. Но, как выяснилось на практике, эта функция косячно работает с некоторыми картинками при последовательном преобразовании изображения. Пришлось быстренько набросать свой вариант скрипта, вот что у меня получилось:Code (PHP) : Убрать нумерацию
- // Файл для обработки
- $im=ImageCreateFromJPEG('test.jpg');
- // Размеры изображения
- $width=ImageSX($im);
- $height=ImageSY($im);
- for ($x=0; $x<$width; $x++) {
- for ($y=0; $y<$height; $y++) {
- $rgb=ImageColorAt($im,$x,$y);
- $R=($rgb >> 16) & 0xFF;
- $G=($rgb >> 8) & 0xFF;
- $B=$rgb & 0xFF;
- // Противоположный цвет
- $Rx=255-$R;
- $Gx=255-$G;
- $Bx=255-$B;
- // Добавить цвет в палитру и установить новый цвет пиксела
- $new_color=ImageColorAllocate($im, $Rx, $Gx, $Bx);
- ImageSetPixel($im,$x,$y,$new_color);
- }
- }
- // Прибраться за собой
- ImageDestroy($im);
Просмотров: 1956 | Комментариев: 0
Исследование защиты программы srcProtector for PHP
29.12.2016 | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы srcProtector for PHP
srcProtector for PHP - неплохой обфускатор PHP-скриптов. Фукнционал похож на другие подобные изделия, но тут что-то новое сложно придумать. Переменные, функции и классы переименовываются в случайные, убираются переносы строк и комментарии, строки кодируются, опционально обфусцированные скрипты сжимаются и дополнительно шифруются. В незарегистрированной версии можно за раз обработать только 5 скриптов. Это единственное ограничение, но для больших проектов критическое.
Читать статью целиком »
Просмотров: 3313 | Комментариев: 3
Проверка памяти при вызове функции ImageCreateTrueColor
11.12.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
Проверка памяти при вызове функции ImageCreateTrueColor
При разработке любого сайта или веб-приложения нужно делать его максимально устойчивым к различным ситуациям, особенно если со стороны пользователя поступают какие-либо данные. Одна из таких ситуаций - обработка фотографий или других изображений, загружаемых пользователем. Для ресайза, наложения водяных знаков или эффектов, так или иначе приходится вызывать функцию ImageCreateTrueColor. Эта операция требует много памяти. Особенно это критично на виртуальном хостинге, где очень часто аккаунт жестко ограничен в использовании памяти сервера. Если памяти не хватает, например, для обработки больших изображений или в случае применения "бомб", то скрипт падает с фатальной ошибкой. Как узнать объем памяти, который потребуется для работы с изображением, до вызова функции ImageCreateTrueColor? Ответ вы найдете в этой статье.
Читать статью целиком »
Просмотров: 1707 | Комментариев: 2
Как на PHP правильно ресайзить картинки с прозрачностью
29.10.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
Как на PHP правильно ресайзить картинки с прозрачностью
Многие начинающие программисты на PHP, когда дело доходит до работы с графикой, сталкиваются с одной и той же проблемой. При ресайзе у прозрачных картинок GIF и PNG получается черный фон, прозрачность при этом теряется. В интернете полно примеров готовых скриптов для автоматического ресайза картинок, где раз за разом повторяется эта ошибка. Давайте попробуем разобраться, как на PHP правильно ресайзить картинки с прозрачностью.
Читать статью целиком »
Просмотров: 3634 | Комментариев: 3