GoJS中的自定义几何可以填充颜色吗?

时间:2019-01-17 08:53:00

标签: gojs

我正在尝试在GoJS中绘制一个半椭圆对象,该对象应该可以通过JSON数据填充指定的颜色。椭圆的几何字符串是由另一个javascript方法生成的,并且运行正常,并且确实将正确的对象输出到GoJS图表中。我确实为该对象定义了一个模板映射,如下所示:

function ArchNodeTemplate(){
  return $(go.Node,
    { 
      locationSpot: go.Spot.TopLeft,
      locationObjectName: "SHAPE",
      resizable: false,
    },
    new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
    new go.Binding("movable", "readOnly"),
    new go.Binding("reshapable", "readOnly"),
    new go.Binding("resizable", "readOnly"),
    new go.Binding("rotatable", "readOnly"),
    new go.Binding("groupable", "readOnly"),
    new go.Binding("deletable", "readOnly"),
    new go.Binding("copyable", "readOnly"),
    $(go.Shape,
      { stroke: "#ababab", 
        name: "SHAPE",
        strokeWidth: 2,
        strokeDashArray: [5,2],
      },
      new go.Binding("geometryString", "geo"),
      new go.Binding("fill", "color")),
  );
}

从单独的方法生成的Geo字符串如下所示:

m 0 0 a 30 100 0 0 1 0 200 l 0 -200 z

这是创建的对象,也是我希望用颜色填充的对象。

ellipse image

现在,我确实尝试对图中的其他对象进行实验,除了生成的形状之外,它们都可以正常工作。我还检查了GoJS网站(及其可下载的库)中的示例代码,并查看了与此代码相似的代码(特别是楼层平面图示例),并且看起来一切都一样。我在这里想念东西吗?

1 个答案:

答案 0 :(得分:1)

是的,您缺少在路径几何字符串前面加上“ F1”,也可以通过调用https://gojs.net/latest/api/symbols/Geometry.html#static-fillPath以编程方式完成。