mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-22 20:51:03 +03:00
78 lines
3.9 KiB
Markdown
78 lines
3.9 KiB
Markdown
---
|
||
name: img-grid
|
||
description: Наложить пронумерованную сетку на изображение. Используй при анализе скриншота макета или печатной формы — измерить пропорции колонок перед генерацией табличного документа
|
||
argument-hint: <ImagePath> [-c COLS]
|
||
allowed-tools:
|
||
- Bash
|
||
- Read
|
||
---
|
||
|
||
# /img-grid — Сетка для анализа макета
|
||
|
||
Накладывает пронумерованную сетку на изображение печатной формы. Позволяет точно определить границы колонок, их пропорции и span-ы для генерации макета табличного документа.
|
||
|
||
## Использование
|
||
|
||
```
|
||
/img-grid <ImagePath> [-c COLS] [-o OUTPUT]
|
||
```
|
||
|
||
## Параметры
|
||
|
||
| Параметр | Обязательный | По умолчанию | Описание |
|
||
|-----------|:------------:|--------------|-----------------------------------------------|
|
||
| ImagePath | да | — | Путь к изображению (PNG, JPG) |
|
||
| -c COLS | нет | 50 | Количество вертикальных делений |
|
||
| -r ROWS | нет | авто | Количество горизонтальных делений (авто = квадратные ячейки) |
|
||
| -o OUTPUT | нет | `<name>-grid.<ext>` | Путь для результата |
|
||
|
||
## Команда
|
||
|
||
```bash
|
||
python ".codeassistant/skills/img-grid/scripts/overlay-grid.py" "<ImagePath>" [-c 50] [-o "<OutputPath>"]
|
||
```
|
||
|
||
Требуется Python 3 с библиотекой Pillow (`pip install Pillow`).
|
||
|
||
## Что делает
|
||
|
||
1. Рисует полупрозрачные вертикальные (красные) и горизонтальные (синие) линии
|
||
2. Нумерует линии в отдельных полях сверху и слева (не перекрывает содержимое)
|
||
3. Каждая 5-я и 10-я линия выделены ярче для удобства счёта
|
||
|
||
## Как использовать результат
|
||
|
||
### 1. Определить границы колонок
|
||
|
||
Посмотреть на изображение с сеткой и записать координаты вертикальных границ каждой колонки таблицы (в номерах grid-линий).
|
||
|
||
### 2. Найти базовую решётку
|
||
|
||
Если на форме несколько таблиц с разной раскладкой (например, шапка документа и основная таблица), объединить все граничные точки. Каждый сегмент между соседними границами — одна колонка MXL.
|
||
|
||
Пример для М-11:
|
||
- Шапка: границы 0, 2, 4, 9, 14, 21, 28, 34, 40, 48
|
||
- Таблица: границы 0, 2, 4, 11, 16, 19, 23, 28, 32, 36, 42, 48
|
||
- Объединение: 0, 2, 4, 9, 11, 14, 16, 19, 21, 23, 28, 32, 34, 36, 40, 42, 48
|
||
- Результат: **16 базовых колонок** с пропорциями 2, 2, 5, 2, 3, 2, 3, 2, 2, 5, 4, 2, 2, 4, 2, 6
|
||
|
||
### 3. Записать в JSON DSL
|
||
|
||
```json
|
||
{
|
||
"columns": 16,
|
||
"page": "A4-landscape",
|
||
"columnWidths": {
|
||
"1": "2x", "2": "2x", "3": "5x", "4": "2x", "5": "3x",
|
||
"6": "2x", "7": "3x", "8": "2x", "9": "2x", "10": "5x",
|
||
"11": "4x", "12": "2x", "13": "2x", "14": "4x", "15": "2x", "16": "6x"
|
||
}
|
||
}
|
||
```
|
||
|
||
Поле `"page"` позволяет компилятору автоматически вычислить абсолютные ширины из пропорций.
|
||
|
||
### 4. Скомпилировать
|
||
|
||
`/mxl-compile` → `/mxl-validate` → `/mxl-info`
|