フィルルール

cBots (自動売買)

概要

Geometryに含まれるPathFigureオブジェクトの交差部分が、Geometryの領域を形成する方法を指定します。

シグネチャ

1
public enum FillRule

 

名前空間

cAlgo.API

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 using cAlgo.API;
 namespace cAlgo
 {
     // このサンプルは、FillRuleの使用方法を示しています
     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
     public class FillRuleSample : Indicator
     {
         protected override void Initialize()
         {
             var stackPanelNonzero = new StackPanel()
             {
                 HorizontalAlignment = HorizontalAlignment.Center,
                 VerticalAlignment = VerticalAlignment.Center,
                 BackgroundColor = Color.Gold,
                 Opacity = 0.6,
             };
             stackPanelNonzero.AddChild(new TextBlock { Text = "Nonzero", ForegroundColor = Color.Black, HorizontalAlignment = HorizontalAlignment.Center, Margin = 10 });
             stackPanelNonzero.AddChild(new Polygon
             {
                 FillColor = Color.Red,
                 Width = 200,
                 Height = 100,
                 FillRule = FillRule.Nonzero,
                 Margin = 10,
                 Points = new Point[]
                 {
                     new Point(1, 200),
                     new Point(50, 30),
                     new Point(100, 1),
                     new Point(150, 1),
                     new Point(100, 10),
                     new Point(50, 1),
                     new Point(200, 70),
                     new Point(300, 90),
                 }
             });
             stackPanelNonzero.AddChild(new TextBlock { Text = "EvenOdd", ForegroundColor = Color.Black, HorizontalAlignment = HorizontalAlignment.Center, Margin = 10 });
             stackPanelNonzero.AddChild(new Polygon
             {
                 FillColor = Color.Red,
                 Width = 200,
                 Height = 100,
                 FillRule = FillRule.EvenOdd,
                 Margin = 10,
                 Points = new Point[]
                 {
                     new Point(1, 200),
                     new Point(50, 30),
                     new Point(100, 1),
                     new Point(150, 1),
                     new Point(100, 10),
                     new Point(50, 1),
                     new Point(200, 70),
                     new Point(300, 90),
                 }
             });
             Chart.AddControl(stackPanelNonzero);
         }
         public override void Calculate(int index)
         {
         }
     }
 }

フィールド

EvenOdd

概要

指定された図形のパスセグメントを横切るレイをその点から無限遠に引いて、そのパスセグメントの数を数えることで、点が塗りつぶし領域内にあるかどうかを判断するルールです。この数が奇数の場合、点は内部にあり、偶数の場合、点は外部にあります。

シグネチャ

1
public static FillRule EvenOdd;

 

戻り値

FillRule

Nonzero

概要

レイを無限に引き、図形のパスセグメントがレイを横切る場所を調べることで、点がパス領域内かどうかを判断するルールです。カウントをゼロから開始し、レイを左から右に横切るごとに1を加え、右から左に横切るごとに1を引きます。カウントの結果がゼロであれば点は外部にあり、そうでなければ内部にあります。

シグネチャ

1
public static FillRule Nonzero;

 

戻り値

FillRule

  • コントロール
目次

このページについて