我有两点在连接时画一条线。该线可以是垂直水平,垂直或(最常见)对角线。
我想沿着这条道路尝试文字。我正在使用C#和WinForms,但我认为这不像一些简单的伪代码那么重要,它可能包含一些数学(trig?),需要找到路径的角度来对齐文本。
答案 0 :(得分:1)
如果您使用OnPaint()
方法绘制文字,可以尝试此操作(reference):
Graphics g = e.Graphics; // your graphics object.
float deg = 45F; // an angle, this one is 45 degrees
g.RotateTransform(deg);
g.DrawString("slopey text is fun");
答案 1 :(得分:1)
使用Math.Atan2()计算角度。通过乘以180 / Math.Pi从弧度转换为度数。获取RotateTransform()的旋转中心是使文本与线正确对齐的关键步骤。 r * Math.Cos(角度)用于从线起点开始的X偏移,r * Sin(角度)用于Y偏移,其中r是距线起始点的偏移。通过字体的高度进行调整,使其高于线条。