# Image Halftone Experiment ![Version](https://img.shields.io/badge/Python-3.14-blue) ![Version](https://img.shields.io/badge/version-0.1.1-blue) ![License](https://img.shields.io/badge/license-MIT-green) [![Static Badge](https://img.shields.io/badge/ОРИГИНАЛ-git.cube2.ru-green)](https://git.cube2.ru/erjemin/2026-image-hatftone-effect) Генерирует SVG халфтоновый эффект из изображения с анимацией мерцания точек. Например: ![Пример](img/lp.svg) ## Что делает Скрипт преобразует любое изображение в компактный SVG с: - **Халфтоновым растром** — изображение из точек разного размера (как на плакате) - **CSS-анимацией** — каждая точка пульсирует с уникальной задержкой - **Прозрачным фоном** — работает на любом фоне (темная/светлая тема) - **Минимальным размером** — оптимизирован через переиспользование CSS-классов ## Быстрый старт ```bash # Установить зависимости poetry install # Запустить poetry run python main.py img/img_2.jpg ``` На выходе получишь `img_2j.svg` с анимацией. ## Параметры В коде (строка 53) можно менять: - `cols=90` — кол-во колонок (больше = детальнее, но тяжелее) - `max_radius=5` — макс размер точки Параметры анимации в функции `generate_halftone_svg()`: - `animation_variants=12` — кол-во групп точек с разными задержками (чем меньше --> компактнее SVG) В стилях CSS можно поиграться: - `animation:noise 1s` — скорость пульсации (чем меньше --> быстрее) - `animation-delay: calc(var(--i) * 0.1s)` — задержка для каждой точки (чем меньше --> быстрее) - `animation-iteration-count: infinite` — бесконечная анимация (можно убрать, если нужно один раз) - `transform:scale(0.99)` — масштабирование групп точек (можно экстремально всю картинку "схлопнуть" или наоборот ""распустить") - `fill:#80000090` -- цвет точек (с прозрачностью) ![Еще пример](img/cc.svg)