
Быстрый поиск
Введите фрагмент названия статьи для поиска
Преобразование массива чисел в интервалы
06.08.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
По работе возникла необходимость обработать массив чисел таким образом, чтобы все последовательные значения в нем были преобразованы в интервалы. То есть массив [1, 3, 4, 5, 6, 9, 10, 15] должен превратиться в ["1", "3-6", "9-10", "15"]. Быстренько набросал вот такую функцию, может быть пригодится кому-нибудь еще.Code (PHP) : Убрать нумерацию
- // Преобразование массива чисел в интервалы
- function array_to_intervals($data=array(), $divider='-') {
- // Оставить только уникальные значения
- $data=array_unique($data);
- sort($data);
- $tmp=array();
- $begin=$end=0;
- for ($i=0; $i<count($data); $i++) {
- // Начало интервала или одиночное значение
- if ($begin==0) {
- $begin=$end=$data[$i];
- }
- if (isset($data[($i+1)])) {
- // Расширить границы интервала
- if ($data[($i+1)]==($end+1)) {
- $end++;
- }
- else {
- // Одиночное значение
- if ($begin==$end) {
- $tmp[]=$begin;
- }
- // Интервал
- else {
- $tmp[]=$begin.$divider.$end;
- }
- $begin=$end=0;
- }
- }
- }
- if (count($data)) {
- // Последнее значение
- if ($begin==$end) {
- $tmp[]=$begin;
- }
- else {
- $tmp[]=$begin.$divider.$end;
- }
- }
- return $tmp;
- }
Просмотров: 2454 | Комментариев: 5
Эффект выборочного цвета на PHP
15.07.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект выборочного цвета на PHP
Эффект выборочного цвета есть в некоторых фотоаппаратах Nikon, во многих графических редакторах. Сам эффект заключается в том, что на изображении цветным остается только какой-нибудь один тон, а все остальные цвета преобразуются в оттенки серого. Выборочный цвет, например, часто применяется в оформлении готических фотографий, на которых кроваво-красные цветы, элементы одежды или предметы сочетаются с мрачным черно-белым фоном.
Читать статью целиком »
Просмотров: 3102 | Комментариев: 14
Определение основного цвета изображения на PHP
04.06.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
В различных поисковых системах есть возможность поиска изображения по цвету, например, "только синие" или "только зеленые". Естественно, это не означает стопроцентную синюю или зеленую заливку, а определяет преобладающий цвет картинки. Такой цвет называется основным. Алгоритм поиска основного цвета очень простой: надо просто подсчитать суммарные значения по каждому из каналов RGB для каждого пиксела изображения, а затем разделить полученные значения на общее количество пикселов. На PHP это реализуется примерно так:Code (PHP) : Убрать нумерацию
- // Файл для определения основного цвета
- $im=ImageCreateFromJPEG('test.jpg');
- $total_R=0;
- $total_G=0;
- $total_B=0;
- // Размеры изображения
- $width=ImageSX($im);
- $height=ImageSY($im);
- // Подсчитать суммарные значения по RGB
- for ($x=0; $x<$width; $x++) {
- for ($y=0; $y<$height; $y++) {
- $rgb=ImageColorAt($im,$x,$y);
- $total_R+=($rgb>>16) & 0xFF;
- $total_G+=($rgb>>8) & 0xFF;
- $total_B+=$rgb & 0xFF;
- }
- }
- // Прибраться за собой
- ImageDestroy($im);
- // Определение значений RGB основного цвета
- $avg_R=round($total_R/$width/$height);
- $avg_G=round($total_G/$width/$height);
- $avg_B=round($total_B/$width/$height);
Читать статью целиком »
Просмотров: 9284 | Комментариев: 4
PCL's Sendmail Emulator 1.3
27.04.2016 | Категория: Мои программы | Автор: ManHunter

PCL's Sendmail Emulator
Sendmail Emulator предназначен для эмуляции программы sendmail при отладке php-скриптов на локальном сервере под Windows. Эмулятор написан для личных нужд, функционал только тот, что был мне необходим. Все письма, отправленные при помощи функции mail(), складываются в заданную папку со всеми заголовками. Для установки программы надо распаковать папку sendmail в удобное для вас место, например в папку с PHP. Никаких записей в систему Sendmail Emulator не вносит, все настройки хранятся в файле конфигурации в папке с программой. После установки эмулятора в файле php.ini надо отредактировать секцию [mail function]:
[mail function]
smtp =
smtp_port =
sendmail_from =
sendmail_path = "полный_путь_к_sendmail\sendmail.exe"
Настройки самого эмулятора выполняются в файле sendmail.ini. Вот краткое описание всех параметров, которые для этого используются.
Читать статью целиком »
Просмотров: 8777 | Комментариев: 17
Распознавание лиц на фотографии с помощью PHP
04.03.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Распознавание лиц на фотографии с помощью PHP
В социальных сетях давно используется такая функция, как "укажи людей на фотографии". Вы загружаете файл изображения, а скрипт подсвечивает на нем лица людей. Как это делается? Предположу, что у каждой социальной сети используются свои инструменты, доступа к которым со стороны никто не даст. Есть готовые бесплатные инструменты, например, PHP Facedetect, но они требуют доступ к серверу, чтобы установить необходимые компоненты. Это можно сделать только на выделенных серверах, пользователям недорогого виртуального хостинга вряд ли кто-то даст такую возможность. А еще есть общедоступный сервис Microsoft Project Oxford Face, который позволяет разработчикам определять на фотографиях лица, а также пол и примерный возраст людей. Для этого надо зарегистрироваться, получить персональный ключ, и можно передавать файлы на обработку. Вроде бы все хорошо и правильно. Но официальные SDK есть только для дотнета и Java, да и количество бесплатных обращений к сервису ограничено. Вот этим сервисом я и заинтересовался.
Читать статью целиком »
Просмотров: 7270 | Комментариев: 9


