Играюсь с алгоритмической обработкой изображений. Картинки интересно выглядят только будучи распечатанными на большом формате — потому что все эти тонкие линии при масштабировании на экран телефона сливаются. Приложу в комменты приближение.
Работает так: на вход дается изображение, оно разбивается на квадраты разных размеров. Каждый квадрат — одно число: насколько он тёмный. Чем темнее — тем больше линий рисуется внутри. Линии не прямые — это сплайны Безье. Они плавно перетекают из одного квадрата в соседний, потому что точки на границах — общие. Получается не сетка, а единая непрерывная нить. Цвет — изображение раскладывается на каналы CMYK (как в типографии). Каждый канал обрабатывается отдельно: своя сетка, свои линии. Потом слои накладываются друг на друга — и из трёх или четырёх чёрно-белых пластин появляется цветная картинка.
Изображение не выглядит блочным из-за того, что сплайны из квадратов плавно перетекают друг в друга, но есть проблема: разбиение картинки на квадраты 10×10 по сути понижает разрешение в 10 раз. Для коррекции производится несколько проходов с разными размерами квадратов и сдвинутыми
сетками. Первый проход — крупные клетки, второй — мельче и сдвинуты на 10 пикселей вправо, третий — ещё мельче и сдвинуты по диагонали.
Весь процесс управляется JSON-конфигом — для каждого канала свои параметры, для каждого прохода внутри канала свои. На выходе — SVG, который можно масштабировать до размера стены без потери качества, и PNG, в котором CMYK слои накладываются с полупрозрачностью.



