在这篇文章中,我们将展示如何使用可调节的控制点创建自定义公式的形状。形状控制点是Flowchart.NET v6.1中的一个新功能,目前是在公测阶段。
形状公式定义使用脚本,调用以下功能之一绘制节点的形状。
MoveTo (x,y) | 将当前位置移动到指定的点,无需绘制。 |
LineTo (x,y) | 从当前位置到指定的点绘制一条线。 |
BezierTo (x1,y1,x2,y2,x3,y3) | 绘制Bezier曲线从当前位置到(X3,Y3),把(X1,Y1)和(x2,y2)作为控制点。 |
ArcTo (x,y,largeArc,clockwiseArc,rx,ry) | 绘制弧形,从指定点(x,y),其中rx和ry是的椭圆半径和弧标志是布尔值,可指定四种可能的圆弧绘制。 |
例如,下面的公式定义了一个圆角矩形,使用直线和圆弧,并期望获得的“半径”控制点参数,将控制圆角半径:
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// an anchor shape, with two arcs outlining each anchor arm
string anchor = @"
r = Width / 3;
y1 = p1.Y * Height / 100;
y2 = p2.Y * Height / 100;
MoveTo(Width / 2, Height);
MoveTo(Width / 2 + 3, Height - 5);
ArcTo(Width, y2, false, true, r, r);
ArcTo(Width / 2 + 3, Height - 10, false, false, r, r);
LineTo(Width / 2 + 3, 0);
LineTo(Width / 2 - 3, 0);
LineTo(Width / 2 - 3, Height - 10);
ArcTo(0, y1, false, false, r, r);
ArcTo(Width / 2 - 3, Height - 5, false, true, r, r);
LineTo(Width / 2, Height);
";
var myAnchor = new Shape(anchor, "MyAnchor");
// add control points at the tips of anchor arms
myAnchor.ControlPoints.Add(new ShapeControlPoint(
"p1", 0, 0, 0, UnitType.Percentage, 55, 50, 80, UnitType.Percentage));
myAnchor.ControlPoints.Add(new ShapeControlPoint(
"p2", 100, 100, 100, UnitType.Percentage, 55, 50, 80, UnitType.Percentage));
|
下面列出了一些额外的功能,你可以从形状脚本中调用。
PI() | 返回PI的值。 |
Abs(x) | 返回x的绝对值。 |
Atn(x) | 返回的角度,弧度测量,其正切是指定数字。 |
Cos(x) | 返回指定角度的余弦值。 |
Acos(x) | 返回角度的余弦值是指定数字。 |
Exp(x) | 返回e的额定功率。 |
Log(x) | 返回自然(底数e)指定值的对数 |
Pow(x,power) | 返回指定数量提高到规定的电源。 |
Sin(x) | 返回指定角度的正弦值。 |
Asin(x) | 返回角度的正弦是指定数字。 |
Sqrt(x) | 返回一个数的平方根。 |
Tan(x) | 返回指定角度的正切值。 |
Min(x,y) | 返回两个数字中较小的一个。 |
Max(x,y) | 返回两个数字中较大的一个。 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29206471/viewspace-774176/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29206471/viewspace-774176/