# Audion Image Tools

[English](README_EN.md) · [Руководство](USER_GUIDE_RU.md)

**Содержание**

- [Зачем это сделано](#зачем-это-сделано)
- [Принципы](#принципы)
- [Что умеет](#что-умеет)
- [Дальше](#дальше)
- [Техническая часть](#техническая-часть)
  - [Запуск](#запуск)
  - [Значения по умолчанию](#значения-по-умолчанию)
  - [Выбор цветового профиля](#выбор-цветового-профиля)
  - [Папки](#папки)
  - [Названия в рабочей области](#названия-в-рабочей-области)

Портативный набор для работы с изображениями: конверсия, цвет, размеры, обрезка,
водяные знаки, замощение, контактные листы.

## Зачем это сделано

Обработка картинок распадается на две разные задачи, и путать их дорого.

Первая — **принять то, что дали**. Съёмка приходит в RAW с фотоаппарата, скан в
многокадровом TIFF, макет в PSD, снимок с телефона в HEIC. Программа должна
открыть всё это, не спрашивая, откуда оно взялось.

Вторая — **отдать предсказуемо**. Здесь важно обратное: узкий круг форматов,
где поведение выверено до мелочей — что происходит с прозрачностью, как пишется
цветовой профиль, меняются ли пиксели.

Отсюда главное решение: **вход широкий, выход узкий**. На входе — максимум того,
что вообще можно открыть. Глубокая и предсказуемая обработка сосредоточена
вокруг JPG и PNG.

## Принципы

**Три уровня поддержки формата названы вслух.** Не «поддерживается», а насколько.

| уровень | что это значит | форматы |
|---|---|---|
| устойчивое ядро | выверено, работает всегда | BMP, GIF, JPG, PNG, TGA, TIFF, WebP, AVIF |
| через адаптер | нужен дополнительный слой | HEIC и HEIF, RAW с фотоаппаратов — CR2, CR3, DNG |
| как получится | открывается не всегда | WMF, IFF, XIF; PSD — по мере сил |

Что доступно на конкретной машине, программа говорит сама:

```bat
python system_core\main.py formats
```

**Цвет выбирается, а не угадывается.** Для экрана — sRGB, для печати — CMYK, и в
каждом случае явно: встроенный путь без внешнего файла или конкретный профиль с
диска. Программа не решает за вас, какой из двух CMYK-профилей вам нужен, —
потому что это зависит от типографии, а не от файла.

**Операции, не трогающие пиксели, отделены от тех, что трогают.** Запись
разрешения меняет только метку в файле; подгонка под рулон пересчитывает
разрешение по размеру в миллиметрах, оставляя пиксели как есть. Это написано у
каждой такой операции, чтобы не искать потом, откуда взялась потеря качества.

**Совместимость важнее компактности.** WebP, AVIF и HEIF есть для лёгкой
доставки, но JPG остаётся тем, что откроется везде, и заменять его на них по
умолчанию программа не станет.

## Что умеет

| раздел | о чём |
|---|---|
| Конверсия | в JPG, PNG, TIFF, WebP, AVIF, HEIF, HEIC; качество пресетами или точным значением |
| Цвет | нормализация с явным выбором профиля, оттенки серого, безопасная прозрачность для JPG |
| Размеры | под экран 1080p, 1440p, 2160p; под 16:9, A4, A3; под рулон по стороне в миллиметрах |
| Разрешение | запись выбранного разрешения без изменения пикселей |
| Обрезка | однотонная рамка, умная обрезка белого фона, защитное поле в миллиметрах |
| Сборка PDF | сразу после обрезки, со встроенным PNG или JPG |
| Водяной знак | подпись в углу или диагональная защитная надпись с прозрачностью и цветом |
| Замощение | одна картинка на A5, A4, A3 или рулон — для наклеек, с полями и зазором в миллиметрах |
| Контактный лист | сетка миниатюр: типовые размеры или свой |
| Разбор TIFF | многокадровый в нумерованные кадры PNG |
| Поворот | исправление по метке ориентации |

## Дальше

* [Руководство](USER_GUIDE_RU.md) — работа по шагам.
* `tools\RELEASE_GUIDE_RU.md` — сборка выпуска.

---

## Техническая часть

### Запуск

```cmd
launcher_gui.cmd          основной, окно
launcher_project.cmd      командная строка и текстовое меню
launcher_project_ru.cmd   то же по-русски
```

Меню работает через быстрый выбор, если он доступен; иначе — обычное меню. Для
коротких важных выборов используется простой список, чтобы на глубоких шагах не
перепутать значения.

### Значения по умолчанию

| что | значение |
|---|---|
| качество JPG | 83; пресеты 60, 75, 90; точное значение от 1 до 100 |
| сжатие PNG | в окне один пресет, в командной строке — параметр |
| качество контактного листа | 75 или 92 |
| диагональная надпись | около 60 % диагонали |

### Выбор цветового профиля

| задача | что выбрать |
|---|---|
| экран, сайт, обычная передача | sRGB |
| печать | CMYK |
| нужен встроенный путь без внешнего файла | Pillow sRGB |
| нужен явный внешний эталон | профиль color.org |
| широкий классический печатный сценарий | `Photoshop5DefaultCMYK.icc` |
| покрытая печать по конкретному стандарту | `CoatedFOGRA39.icc` |

### Папки

```
input\        быстрая папка источников
output\       результаты
logs\         журналы запусков
report\       подробные отчёты
workspace\    временная область
config\       умолчания, темы, пути к профилям
system_core\  реализация
install\      портативное окружение
wheelhouse\   пакеты для установки без сети
release\      архивы выпусков
```

### Названия в рабочей области

Словарь этого проекта принят общим для всех программ Audion: **Источник**,
**Добавить файл…**, **Назначение**, **Сбросить**, **Удалить**, **Список**.
По-английски: **Source**, **Add file…**, **Target**, **Reset**, **Delete**,
**List**.

`Сбросить` возвращает проектные `input` и `output`, файлов не трогая. `Удалить`
очищает текущие источник и назначение только после подтверждения. Слова «Цель»,
«Очистить», `Destination` и `Clear` не используются.
