2016-08-07 5 views
1

2つの端の位置が定義された状態でGraphicsPathに追加された行がある場合、この点のペアを読み取ることはできますか?Graphicspathのポイントにアクセスすることは可能ですか?

myPath2から
Point[] myArray = 
     { 
      new Point(30,30), 
      new Point(60,60), 

     }; 
GraphicsPath myPath2 = new GraphicsPath(); 
myPath2.AddLines(myArray2); 

、私のポイント(30,30)と(60,60)を得ることができmyPath2.Locationに似たものはありますか? ありがとう

答えて

1

はい、GraphicsPath.PathPointsで可能ですが、GraphicsPath.PathTypesの2番目の配列を理解する必要があります。すべてのポイントは、多分このように、ライン座標の簡単なポイントアレイとして追加されている場合のみ

List<Point> points = new List<Point>(); 
.. // add some points! 
GraphicsPath gp = new GraphicsPath(); 
gp.AddLines(points.ToArray()); 

あなたは/使用多くの手間をかけずにポイントを変更することができるようになります。

あなたはを経由して、それらを追加した場合、形状を丸め..

gp.AddEllipse(ClientRectangle); 

よう..youは、様々なタイプを理解する必要があります!あなたが定期的にポイントを得るが、

0を言うバイトのタイプとなりますgp.AddRectangle(ClientRectangle);としてそれらを追加する場合は、他の曲線gp.AddCurves(points.ToArray());

としてそれらを追加するときも同様です - ポイントはスタートであることを示します数字の

だからあなたの場合には、あなたはこのようなあなたのポイントの第一の取得時:

ところで
Console.WriteLine(gp.PathPoints[1].ToString()); 

GraphicsPath.Locationのようなものはありません。 - ポイントは、エンドポイントまたはコントロールポイントであることを示し

3:しかし、あなたは(!円弧と楕円を含む)すべての丸みを帯びた形状、実際には、ベジエ点ののみから構成されていることGraphicsPath.GetBounds()便利..

ノートを見つけることができますPathPointsであることを意味 立方ベジェスプライン

端点及び制御点を交互。

関連する問題