GoJs图形绘图模板Shape示例详解

以下是关于“GoJs图形绘图模板Shape示例详解”的攻略。

什么是GoJs图形绘图模板Shape

GoJs图形绘图模板Shape是一个JavaScript图形库,它可以用于创建各种可交互的图形,包括流程图、组织结构图、网络拓扑图等。

Shape模板示例1

下面我们来看一个GoJs Shape模板的示例,该示例用于创建带有箭头的线条。首先,我们需要定义一个Shape模板:

$(go.Shape,
  {
    name: "ARROW",
    fill: null,
    desiredSize: new go.Size(8, 8),
    stroke: "black",
    strokeWidth: 1.5,
    strokeJoin: "miter",
    strokeCap: "butt"
  },
  new go.Binding("angle").makeTwoWay(function(a) { return a - 90; }),
  new go.Binding("geometry", "", function(shape) {
    if (shape === "arrowUp") return ARROW_UP;
    if (shape === "arrowDown") return ARROW_DOWN;
    if (shape === "arrowLeft") return ARROW_LEFT;
    return ARROW_RIGHT;
  }),

上述代码中定义的Shape模板是一个带有箭头的线条,我们可以通过不同的shape参数来修改箭头的方向。例如,shape为"arrowUp"时箭头方向为向上。

在绘图过程中,我们可以使用go.Diagram对象创建图形元素并添加Shape模板:

myDiagram.add(
  $(go.Link,
    { routing: go.Link.Normal, curve: go.Link.Bezier },
    $(go.Shape,  // 线条部分
      { strokeWidth: 2 },
      new go.Binding("stroke", "color")),
    $(go.Shape,  //箭头部分
      { fill: "black", stroke: null, scaling: { scale: 3 } },
      new go.Binding("fromArrow", "fromArrow"),
      new go.Binding("toArrow", "toArrow")),
    $(go.TextBlock,  // 文字部分
      { margin: 8, editable: true },
      new go.Binding("text").makeTwoWay())
  )
);

上述代码中的图形元素是一个连线,包含用于绘制线条、箭头和文字的Shape模板。

Shape模板示例2

下面我们再来看一个GoJs Shape模板的示例,该示例用于创建带有不同颜色的方形。

$(go.Shape,
  {
    name: "SHAPE",
    stroke: "black",
    strokeWidth: 1.5
  },
  new go.Binding("fill", "", function(shape) {
    if (shape === "red") return "red";
    if (shape === "green") return "green";
    if (shape === "blue") return "blue";
    if (shape === "yellow") return "yellow";
  }),

上述代码中定义的Shape模板是一个方形,我们可以通过不同的shape参数来修改方形的颜色。例如,shape为"red"时方形颜色为红色。

在绘图过程中,我们可以使用go.Diagram对象创建图形元素并添加Shape模板:

myDiagram.add(
  $(go.Node,
    "Auto",
    $(go.Shape,  // 方形部分
      {
        fill: "white",
        stroke: "black",
        strokeWidth: 2,
        width: 70,
        height: 70
      },
      new go.Binding("fill", "color", function(color) { return color; })),
    $(go.TextBlock,  // 文字部分
      { margin: 8, editable: true },
      new go.Binding("text").makeTwoWay())
  )
);

上述代码中的图形元素是一个节点,包含用于绘制方形和文字的Shape模板。

总结

GoJs图形绘图模板Shape提供了多种可定制的图形,可以帮助我们快速创建各种可交互的图形。通过上述示例,我们可以了解如何定义和使用Shape模板,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:GoJs图形绘图模板Shape示例详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 使用CSS实现页面复选框的方法

    使用CSS实现页面复选框是常见的网页美化技巧,在这里我会分享两条示例说明。 1.使用label标签绑定checkbox实现 我们可以使用label标签来绑定checkbox,然后通过CSS样式美化label标签来达到美化样式的目的。 相关HTML代码 <input type="checkbox" id="checkbox1…

    css 2023年6月9日
    00
  • ASP+CSS 实现列表隔行换色

    要实现列表隔行换色,我们需要使用 ASP 和 CSS 技术。下面是 ASP+CSS 实现列表隔行换色的完整攻略。 使用 CSS 实现列表隔行换色 要实现列表隔行换色,一种常见的方法就是使用 CSS。我们通过 CSS 为每个列表行设置背景颜色,从而实现列表隔行换色,具体步骤如下: 为列表中的每一项设置相应标签属性和样式。 HTML 代码如下: “`html …

    css 2023年6月9日
    00
  • 关于CSS中 星号*的使用介绍

    CSS中星号(*)的使用介绍 星号(*)是CSS中的通配符,它可以应用到任何元素。使用星号可以实现一些非常有用的功能,例如选择某一个元素下的所有子元素或者选择所有元素。 选择所有元素 如果要给所有元素添加通用的样式,可以使用星号通配符,如下所示: * { margin: 0; padding: 0; } 这将把所有元素的外边距和内边距都设置为0,这是很多网站…

    css 2023年6月10日
    00
  • php中去除所有js,html,css代码

    为了去除PHP字符串中的所有JS,HTML和CSS代码,可以使用以下步骤: 使用PHP内置的strip_tags()函数:该函数可以用来删除字符串中的HTML和PHP标记。例如,以下代码从字符串中删除所有HTML和PHP标记,并输出结果: <?php $string = "<p>This is a <strong>sa…

    css 2023年6月9日
    00
  • VUE在线调用阿里Iconfont图标库的方法

    下面是详细讲解“VUE在线调用阿里Iconfont图标库的方法”的完整攻略。 步骤一:引入Iconfont资源 首先,在阿里Iconfont网站上,选中需要使用的图标,并将它们添加进自己的项目中; 点击右上角的下载按钮,选择下载方式为“Symbol”,获取Symbol所需的相关库文件; 在Vue项目中,创建一个新的CSS文件,并在其中引入样式库文件,例如: …

    css 2023年6月9日
    00
  • div实现阴影边框效果(适应各主流浏览器)

    要实现 div 的阴影边框效果,可以使用 CSS3 的 box-shadow 属性。这个属性可以控制元素的阴影效果,具体使用方法如下: div { box-shadow: h-shadow v-shadow blur spread color inset; } 其中,h-shadow 表示水平阴影偏移量,可以为正值或负值;v-shadow 表示垂直阴影偏移量…

    css 2023年6月10日
    00
  • javascript 线性渐变三

    JavaScript线性渐变是指在两个不同颜色之间呈现平滑过渡的效果。在本次攻略中,我们将介绍如何使用JavaScript实现线性渐变。以下是具体步骤。 步骤一:创建渐变 要使用JavaScript实现渐变,我们需要先创建一个Canvas元素。然后使用createLinearGradient()方法创建渐变。该方法需要四个参数,分别是起始点和结束点的横纵坐标…

    css 2023年6月10日
    00
  • css中padding和margin的异同点介绍

    CSS中padding和margin的异同点介绍 概念介绍 被称为“内边距”,padding是指元素内容边界与元素边框之间的距离。它会影响到元素的大小及内容与边框之间的间距。 被称为“外边距”,margin是指元素边框与相邻元素边框之间的距离。它会影响到元素与其他元素之间的间距。 使用方式 padding和margin可以通过简写属性和分别指定属性的方式进行…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部