如何在jointjs中创建水平线。我想在jointjs中的两点之间绘制简单的水平线。有人可以告诉我该怎么做吗?

我的论文看起来像:

  var paper = new joint.dia.Paper({
        el: $('#myholder'),
        width: w,
        height:h,
        model: graph,
        gridsize:4
    });
    var paper2 = new joint.dia.Paper({
        el: $('#myimage'),
        width: w,
        height:600,
        model: graph,
        interactive : false
    });

我创建了两条水平线,例如:

  var line = V('line', { x1: 50, y1: 100, x2: 300, y2: 100, stroke: 'black' });
    V(paper.viewport).append(line);
    V(paper2.viewport).append(line);

但当线条打印在 paper2 中时,我没有在纸张中得到线条

有帮助吗?

解决方案

您可以使用一个链接:

graph.addCell(new joint.dia.Link({
   source: { x: 50, y: 100 },
   target: { x: 300, y: 100 }
}))

或 SVG:

var line = V('line', { x1: 50, y1: 100, x2: 300, y2: 100, stroke: 'black' });
V(paper.viewport).append(line);

V 是由 JointJS 导出的全局变量,是一个名为 Vectorizer 的小型库,可以更轻松地进行 SVG 操作(http://jointjs.com/api#v).

请记住,如果您想在另一张纸上添加另一行(paper2),您必须首先克隆第一个:

V(paper2.viewport).append(line.clone())

如果你不这样做,该行来自 paper 被取出并附加到 paper2, ,这就是为什么你看不到该行 paper 不再了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top