init: вроде всё работает

This commit is contained in:
2026-07-17 13:14:12 +03:00
commit 60930a974e
7 changed files with 462 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
# Image Halftone Experiment
Генерирует SVG халфтоновый эффект из изображения с анимацией мерцания точек.
## Что делает
Скрипт преобразует любое изображение в компактный SVG с:
- **Халфтоновым растром** — изображение из точек разного размера (как на плакате)
- **CSS-анимацией** — каждая точка пульсирует с уникальной задержкой
- **Прозрачным фоном** — работает на любом фоне (темная/светлая тема)
- **Минимальным размером** — оптимизирован через переиспользование CSS-классов
## Быстрый старт
```bash
# Установить зависимости
poetry install
# Запустить
poetry run python main.py img_3.jpg
```
На выходе получишь `img_3j.svg` с анимацией.
## Параметры
В коде (строка 53) можно менять:
- `cols=90` — кол-во колонок (больше = детальнее, но тяжелее)
- `max_radius=5` — макс размер точки
Параметры анимации в функции `generate_halftone_svg()`:
- `animation_variants=12` — кол-во групп точек с разными задержками (чем меньше --> компактнее SVG)
В стилях CSS можно поиграться:
- `animation-duration: 1.5s` — скорость пульсации (чем меньше --> быстрее)
- `animation-delay: calc(var(--i) * 0.1s)` — задержка для каждой точки (чем меньше --> быстрее)
- `animation-iteration-count: infinite` — бесконечная анимация (можно убрать, если нужно один раз)
- `transform:scale(0.99)` — масштабирование групп точек (можно экстремально всю картинку "схлопнуть"
или наоборот ""распустить")
- `fill:#80000090` -- цвет точек (с прозрачностью)