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

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

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

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

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

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

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

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



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


RSS HTML рубрики: сайтостройjuick twitter facebook вконтакте

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

Откуда вы?   

Войти через loginza
Оставлять комментарии могут только
имеющие свой ЖЖ-, ЛИру-аккаунт или
еще какой openID (как так?).
Подписаться


Рубрики:

жизненное
аудио-я
видеомонтаж
фотоохота
ремонт
стихи
рассказы
синематограф
библиотека
фонотека
точка зрения
FAQ
приемчики
придумалось
ожидания-прогнозы
допридумано
рингтоны
это я так шучу
обои
микрозарисовки
опасный Интернет
я в печати
поездки-тусовки
смехоспам
мой код
футболки
игродром
подводная жизнь
сайтоводство
программы
персоны
LI.ru
аватарки
курсоры


Разное:

Полка с фильмами
Книжная полка
Полка с играми
Избранное


Календарь записей

2021 (1)
2020 (7)
2019 (3)
2018 (1)
2017 (10)
2016 (12)
2015 (3)
2014 (12)
2013 (10)
2012 (17)
2011 (84)
2010 (172)
2009 (228)
2008 (263)
2007 (154)
2006 (4)
2005 (1)
2004 (1)
2002 (1)
2001 (9)
2000 (9)
1999 (1)
© сайт разработан и поддерживается мной.