Quantcast
Channel: Хроники лаборатории V.exeR'a
Viewing all articles
Browse latest Browse all 21

Проверим, чёрно-белая ли GIF (скрипт на PHP)

$
0
0
Давно назревала такая задача: в Архиве переводов выявить стрипы, которые переведены, но в чёрно-белом виде (это было очень давно, ещё до того, как Архивом занялся я). Чтобы не делать это руками, пришлось немного пораскинуть мозгами и написать скрипт, который анализирует изображения. Вышло вот что (привожу самый важный кусочек кода):
// Грузим картинку
$im = imagecreatefromgif($strip_filename);

// Подсчитываем цвета
$c=imagecolorstotal($im);

// Если цветов маловато
if ($c $w = imagesx($im);
$h = imagesy($im);
$black=0;

// Возьмём сотню случайных точек
for ($ii=1;$ii $cindx = imagecolorat($im, rand(0,$w), rand(0,$h));
$rgb = imagecolorsforindex($im, $cindx);

// И если они плюс-минус серые, добавляем счётчику единичку
if (($rgb["red"]>($rgb["green"]-3)) and
($rgb["red"] ($rgb["red"] ($rgb["red"]>$rgb["blue"]-3)) {
$black++;
};
};

// Если из этих 100 точек хотя бы 96 - серые, запоминаем стрип
if ($black>95) { $bw[]=$strip_filename; };
};
imagedestroy($im);

Результатом стало вот такое дополнение на сайте (чёрно-белые стрипы отрисовываются чёрными квадратиками):



Видно эту раскраску, конечно, только тем, кто состоит в команде сайта и может помочь сделать ремастер этих переводов.

КОММЕНТИРОВАТЬ - ПО ЭТОЙ ССЫЛКЕ

Еще пара записей из блога, навскидку:
Сервис «Раздача аватарок» (рубрики: LI.ru)
Гостевая: итоги недели (рубрики: сайтоводство)
Настроенческое. (рубрики: придумалось)

Viewing all articles
Browse latest Browse all 21

Latest Images

Trending Articles





Latest Images