Я знаю, что могу добавлять фигуры в MxGraph, рисуя их с помощью трафаретов, например:
<shape name="or" aspect="variable">
<background>
<path>
<move x="0" y="0"/>
<quad x1="100" y1="0" x2="100" y2="50"/>
<quad x1="100" y1="100" x2="0" y2="100"/>
<close/>
</path>
</background>
<foreground>
<fillstroke/>
</foreground>
</shape>
или рисовать с помощью JavaScript как:
BoxShape.prototype.redrawPath = function(path, x, y, w, h, isForeground)
{
var dy = this.extrude * this.scale;
var dx = this.extrude * this.scale;
path.moveTo(0, dy);
path.lineTo(w - dx, dy);
path.lineTo(w, 0);
path.moveTo(w - dx, dy);
path.lineTo(w - dx, h);
};
Я чувствую, что эти два варианта слишком примитивны, чтобы создать сложную форму. Draw.io использует причудливую графику, как показано ниже, и я чувствую, что рисовать их с помощью кода, как показано ниже, было бы излишним, и кто-то, возможно, использовал какой-то конвертер, чтобы сделать это непосредственно из SVG.
Я изучил те элементы, которые являются рисунками (отрендеренными как SVG), а не простыми изображениями, которые можно легко поместить поверх вершины в MxGraph
Есть ли простой способ создавать пользовательские объекты без написания кода вручную, как показано ниже?