0
私はLineShape
を私の形で持っています。クリックするとラベルがちょうどこのラインの真ん中に現れますが、この中間点を決定するための計算は何ですか?LineShapeの真ん中を知る方法
私はLineShape
を私の形で持っています。クリックするとラベルがちょうどこのラインの真ん中に現れますが、この中間点を決定するための計算は何ですか?LineShapeの真ん中を知る方法
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
最後のステップは、X ' 'の値にラベルの' Location.X'と 'Location.Y'を設定することと' @ Xiaoy312が言及したことをy'う上記。 –
@Sylverac実際には、ラベルをラインの中央に配置しませんが、ラベルの左上隅をラインの中央に配置します。 – Xiaoy312
ああ、ポジションの原点が左上隅にあるのを忘れていました。 –