Files
cc-1c-skills/.codex/skills/mxl-compile/reference/drawings.md
T

5.1 KiB
Raw Blame History

Рисунки и картинки

Рисунок — объект поверх сетки ячеек: картинка, фигура или надпись. Его положение задают два якоря: ячейка плюс смещение в точках от её левого верхнего угла.

"pictures": {
  "знак":  { "ref": "v8ui:Стоп48" },
  "логотип": { "data": "iVBORw0KGgo...", "transparent": { "x": 24, "y": 29 } }
},
"drawings": [
  { "type": "Picture", "picture": "логотип", "name": "Логотип",
    "begin": { "row": 1, "col": 1 },
    "end":   { "row": 3, "col": 2, "dy": 34, "dx": 115 },
    "pictureSize": "Proportionally", "detail": "ПараметрРасшифровки" },
  { "type": "Rectangle", "style": "заливка",
    "line": { "style": "Dashed", "width": 2 },
    "sides": { "left": true, "top": true, "right": false, "bottom": false },
    "begin": { "row": 5, "col": 1 }, "end": { "row": 6, "col": 3 } },
  { "type": "Text", "text": { "ru": "Подпись", "en": "Signature" },
    "begin": { "row": 8, "col": 1 }, "end": { "row": 8, "col": 3, "dy": 12 } }
]
Поле Обяз. По умолч. Описание
type нет Picture Picture, Rectangle, Ellipse, Line, Text, Chart, GanttChart
begin / end да Якоря: row, col (1-based) и смещения dy, dx в точках
picture нет Имя записи из pictures
pictureSize нет Stretch Как картинка заполняет прямоугольник: Stretch, AutoSize, Proportionally, RealSize
text нет Надпись: строка или объект «язык → текст»
name нет Имя рисунка, по которому к нему обращаются из кода
detail нет Параметр расшифровки
style нет Именованный стиль: заливка, шрифт, выравнивание надписи
line нет Линия рисунка (она же его рамка) — как border у ячейки
sides нет Какие стороны рамки видны: left, top, right, bottom
id нет номер по порядку Идентификатор рисунка
zOrder нет номер по порядку Порядок перекрытия: чем больше, тем выше

Порядок в списке drawings — порядок в документе; кто кого перекрывает, задаёт zOrder.

Запись в pictures — либо ссылка (ref), либо сами данные в base64 (data). Ссылкой задаются и предопределённая картинка платформы, и общая картинка конфигурации — пишутся они одинаково, префиксом v8ui:. Пустая запись {} — картинка не задана, такое в макетах встречается. Прозрачность задаётся ключом transparent в одной из двух форм: false — прозрачного фона нет; { "x": …, "y": … } — прозрачным считается цвет пикселя с этими координатами внутри картинки (по флажку «прозрачный фон» Конфигуратор берёт её правый нижний пиксель).

Одну запись pictures могут использовать несколько рисунков — данные в макете не дублируются.

Картинка в ячейке

Картинка бывает не только поверх сетки, но и внутри ячейки — тогда её задаёт стиль, а сама картинка берётся из той же палитры pictures:

{
  "columns": 2,
  "pictures": { "стоп": { "ref": "v8ui:Стоп48" } },
  "styles": { "значок": { "picIndex": 1, "picHorizontalAlignment": "Center",
                          "picVerticalAlignment": "Center", "textPosition": "Bottom" } },
  "areas": [{ "rows": [
    [{ "style": "значок", "text": "удалить", "pictureParameter": "Удалить" }]
  ]}]
}
  • picIndex — номер записи в pictures, считая с единицы в порядке объявления;
  • picHorizontalAlignment, picVerticalAlignment, pictureSizeMode, textPosition — как картинка стоит в ячейке и где относительно неё текст (значения — в style-properties.md);
  • pictureParameter — ключ самой ЯЧЕЙКИ, а не стиля: имя параметра, которым картинку подставляют из кода, как param подставляет текст. С текстом ячейки уживается.