用途:定义 Draw.io mxGraph XML 中图形定位、连线路由与标签放置的规则,每个可视元素都需要 mxGeometry 子元素,几何设置错误会导致图形重叠、连线错乱、标签消失。
坐标系:原点在画布左上角 (0,0),X 向右为正,Y 向下为正,单位均为像素。
顶点几何:每个顶点必须带 x、y、width、height,且 as="geometry"。必须显式指定宽高,Draw.io 没有隐式尺寸,省略会得到 0x0 不可见图形;x、y 省略时默认为 0。
连线几何:连线几何必须设 relative="1",否则渲染会出错;不要给连线几何设 width 或 height。relative="1" 时,x(-1 到 1,-1 为起点、0 为中点、1 为终点)与 y(像素,正为下/右)控制标签位置,可用 mxPoint as="offset" 微调。无 source/target 时用 sourcePoint、targetPoint(绝对坐标);途经点用 Array as="points",坐标为绝对画布坐标,顺序决定路由。不同 edgeStyle 下途经点效果不同:orthogonalEdgeStyle 走直角、elbowEdgeStyle 首个途经点决定拐点、curved=1 作为贝塞尔控制点、无 edgeStyle 为直线段。
容器相对坐标:子单元格坐标相对父容器左上角,而非画布原点;子元素 x=0,y=0 即父容器左上角,可超出父边界。判断规则:parent 不为 "1" 用相对坐标,否则用绝对坐标。折叠容器用 collapsed="1" 配合 alternateBounds 定义折叠尺寸。
连接点:通过连线样式属性 exitX/exitY/entryX/entryY(0.0-1.0 相对坐标)及 exitDx/exitDy/entryDx/entryDy(像素偏移)、exitPerimeter/entryPerimeter 控制连线接入位置。
顶点标签:labelPosition(left/center/right)、verticalLabelPosition(top/middle/bottom)、align、verticalAlign。关键规则:labelPosition 非 center 时 align 须取相反值,verticalLabelPosition 非 middle 时 verticalAlign 须取相反值。
非矩形图形需匹配 perimeter,如 ellipse 配 ellipsePerimeter、rhombus 配 rhombusPerimeter、triangle 配 trianglePerimeter、hexagon 配 hexagonPerimeter2、parallelogram 配 parallelogramPerimeter、trapezoid 配 trapezoidPerimeter;矩形与圆角矩形用默认 perimeter。
限制:资料未提供安装命令、收费、平台与效果信息。