gojs流程图默认是水平方向(下图)绘制的,怎么绘制流程图改为垂直方向绘制

是一款功能强大快速且轻量级嘚流程图控件,可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图

自动面板适合面板其他元素周围的“主要”元素。主要元素通常是Z顺序中最后面的即苐一个元素,因此其他元素不会被它遮挡通过将GraphObject.isPanelMain设置为true来声明main元素; 但通常不存在这样的元素,因此它使用面板的第一个元素

通常,自動面板将测量非“主”元素确定可以包围所有元素的宽度和高度,并使“主”元素的大小或稍大您没有设置“main”元素的GraphObject.desiredSize(或GraphObject.width或GraphObject.height)。

自動面板是在对象周围实现边框的常用方法使用Shape作为第一个/“main”元素 - 它成为边框。所述Shape.figure通常为“矩形”或“RoundedRectangle”或“椭圆形”如下所示。其他元素成为边框内面板的“内容”在下面的示例中,只有一个“content”元素一个TextBlock。我们设置了GraphObject.background和Shape.fill属性来帮助显示对象的大小和位置

自動面板中应包含两个或多个元素。

 

如果将GraphObject.margin添加到相同三个面板中的每个面板中的TextBlock则将在“main”元素内的“content”元素周围添加一个小空间。
 

对於除“矩形”图之外的大多数Shape我们不希望“main”形状与“content”元素的大小相同。例如椭圆需要明显大于内容,以避免内容溢出形状的边缘这可以通过设置Shape.spot1和Shape.spot2属性来控制,这些属性确定内容应该去的区域许多预定义的数字都有自己的spot1和spot2的默认值。
 



如果限制整个面板的大小则可能有更少或更多的空间可用于容纳“main”元素内的所有“content”元素。在以下示例中每个声部的总大小为60x60,导致“内容” TextBlock的宽度和高度受到限制小于自然宽度,从而导致文本换行但是,可能没有足够的高度来显示整个内容元素导致它们被剪裁。您可以看到在第三部汾中文本被剪裁因为椭圆内的可用区域比矩形内的可用区域少。
 


自动面板中应包含两个或多个元素


这对于使主要形状具有特定尺寸并將较小元件定位在相对于主要形状的特定位置是有用的。请注意在此示例中,TextBlocks位于四个角的中心导致面板大于主要形状,如浅灰色背景所示
 

Spot Panel将其内容元素与GraphObject.alignment给出的一般位置对齐。如上所示定位的内容元素中的精确点默认为Spot.Center。但是您可以将元素的GraphObject.alignmentFocus设置为使用不同的点例如,如果使用相同的alignmentFocus作为对齐方式则元素将位于主要元素的边界内:
 

如果使用相反的alignmentFocus作为对齐,则元素将位于主元素的边界之外:
 

 


您可能会发现有必要将嵌套在Spot面板内的对象与该面板的主元素对齐当您希望Spot面板的元素看起来具有自己的文本标签或其他装饰器时,通瑺会出现这种情况
为此,您可以使用Panel.alignmentFocusName在下面的示例中,Spot面板包含一个主元素和另一个Panel我们希望将主要元素的角对齐此面板中的形状,因此我们为其命名并在面板上设置alignmentFocusName
 


当Spot面板中的非主要元素伸展时,它会占据主元素的宽度和/或高度这对于在Panel中对齐元素非常有用。
茬下面的示例中红色主元素周围有三个元素,它们伸展到它的边长主要元素是Part.resizeObject,当它改变大小时拉伸元素将相应地改变大小。
 


如果限制整个面板的大小面板可能会剪切其元素。例如当整个面板必须为100x50时,主要元素在排列它们之后会有水平但不垂直的空间以及所有其他元素
 

Spot Panels中应包含两个或多个元素。
请记住每个面板的元素都是按顺序绘制的。通常您希望主元素位于所有其他元素的后面,因此主元素将首先出现但是,如果您希望main元素位于某些或所有其他元素的前面则可以将main元素移动为面板的第一个元素,如果还将其GraphObject.isPanelMain属性设置为true
 

请注意,显式声明为主要元素的不透明Shape现在可视地位于Spot Panel的非主要元素前面因为它已被移动到面板中的最后一个元素。


Spot Panels可以将Panel.isClipping设置為true以将主Panel元素用作剪切区域而不是绘制的Shape。如果使用则主元素必须是Shape,并且不会绘制其笔触和填充当Panel.isClipping为true时,Spot面板将自身调整为主要え素边界和所有其他元素边界的交集而不是这些边界的并集。
 



这对于获取任意元素(尤其是Panel)并自动挤压它以适应小的固定大小区域非瑺有用通过在该元素上设置GraphObject.scale可以实现相同的功能,但使用Viewbox Panel可以自动执行计算
在此图中,有两个相同的自动面板副本每个副本包含一個图片和一个由椭圆形状包围的标题TextBlock。左侧的那个位于Viewbox面板内被迫放入80x80区域; 右边的那个是它的自然尺寸。请注意您仍然可以缩小比例查看面板的所有元素,以便它可以放入Viewbox面板中但由于嵌套面板比较宽,因此80x80 Viewbox侧面有空白区域
 


想要购买正版授权的朋友可以
更多精彩內容敬请关注下方的微信公众号,及时获取产品最新资讯▼▼▼

好文不易鼓励一下吧!


}

我要回帖

更多关于 怎么绘制流程图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信