2016-05-03 12 views
0

私はLineShapeを私の形で持っています。クリックするとラベルがちょうどこのラインの真ん中に現れますが、この中間点を決定するための計算は何ですか?LineShapeの真ん中を知る方法

答えて

2

LineShapeは、その座標をX1,X2,Y1およびY2と公開しています。それの中心を見つけることは、基本的なジオメトリです:

LineShape line = /*...*/; 
Label label = /*..*/; 

// calculate the center of the line 
var center = new Point((line.X1 + line.X2)/2, (line.Y1 + line.Y2)/2); 

// center the label on the line 
label.Top = center.Y - label.Height/2 
label.Left = center.X - label.Width/2 
+1

最後のステップは、X ' 'の値にラベルの' Location.X'と 'Location.Y'を設定することと' @ Xiaoy312が言及したことをy'う上記。 –

+1

@Sylverac実際には、ラベルをラインの中央に配置しませんが、ラベルの左上隅をラインの中央に配置します。 – Xiaoy312

+0

ああ、ポジションの原点が左上隅にあるのを忘れていました。 –

関連する問題