mcpField
I
img-grid

img-grid

github.com/nikolay-shirokovDocuments74154 installsUpdated today
Repository

About img-grid

An image-analysis skill for printed-form layouts that overlays a numbered grid to help identify column boundaries, proportions, and spans for generating a tabular document layout.

Key features

  1. 01Overlay a translucent grid on an image
  2. 02Number horizontal and vertical grid lines
  3. 03Emphasize every fifth and tenth line
  4. 04Set column count, row count, and output path

Use cases

  1. 01Locate table column boundaries in a form image
  2. 02Combine table boundaries into a base grid
  3. 03Write an MXL layout definition from grid proportions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill img-grid

After installing, type/img-gridin Claude Code to confirm it loaded.

Bundled filesscripts/overlay-grid.py

Details

From the project README

/img-grid — Сетка для анализа макета

Накладывает пронумерованную сетку на изображение печатной формы. Позволяет точно определить границы колонок, их пропорции и span-ы для генерации макета табличного документа.

Использование

/img-grid <ImagePath> [-c COLS] [-o OUTPUT]

Параметры

ПараметрОбязательныйПо умолчаниюОписание
ImagePathда—Путь к изображению (PNG, JPG)
-c COLSнет50Количество вертикальных делений
-r ROWSнетавтоКоличество горизонтальных делений (авто = квадратные ячейки)
-o OUTPUTнет<name>-grid.<ext>Путь для результата

Команда

python "${CLAUDE_SKILL_DIR}/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
{
  "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

Comments

Markdown supported