Хроники лаборатории |
Вкратце о текущем состоянии дневника:
В связи с загруженностью очень интересной работой, почти перестал вести блог. Но, как легко убедиться, пролистав блог слегка назад, так было не всегда.
|
рубрика сайтострой // все рубрики |
Проверим, чёрно-белая ли GIF (скрипт на PHP) | (01 июн 2021г, 23:15) |
Давно назревала такая задача: в Архиве переводов выявить стрипы, которые переведены, но в чёрно-белом виде (это было очень давно, ещё до того, как Архивом занялся я). Чтобы не делать это руками, пришлось немного пораскинуть мозгами и написать скрипт, который анализирует изображения. Вышло вот что (привожу самый важный кусочек кода): // Грузим картинку $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); Результатом стало вот такое дополнение на сайте (чёрно-белые стрипы отрисовываются чёрными квадратиками): Видно эту раскраску, конечно, только тем, кто состоит в команде сайта и может помочь сделать ремастер этих переводов.
| комментарии: 0 RSS HTML рубрики: сайтострой | |
|
|