C# C# 画带箭头的线
时间: 2023-11-22 18:46:08 浏览: 246
用C# 实现 显示/隐藏鼠标箭头
在C#中,可以使用Graphics类的DrawLine方法来绘制线条,可以使用GraphicsPath类的AddLine方法来绘制带箭头的线。以下是一个简单的示例代码:
```
private void DrawArrow(Graphics g, Pen pen, PointF start, PointF end, float arrowSize)
{
// 计算箭头的角度和长度
float angle = (float)Math.Atan2(end.Y - start.Y, end.X - start.X);
float length = (float)Math.Sqrt(Math.Pow(end.Y - start.Y, 2) + Math.Pow(end.X - start.X, 2));
// 计算箭头的三个点
PointF[] arrowPoints = new PointF[3];
arrowPoints[0] = end;
arrowPoints[1] = new PointF(end.X - arrowSize * (float)Math.Cos(angle - Math.PI / 6), end.Y - arrowSize * (float)Math.Sin(angle - Math.PI / 6));
arrowPoints[2] = new PointF(end.X - arrowSize * (float)Math.Cos(angle + Math.PI / 6), end.Y - arrowSize * (float)Math.Sin(angle + Math.PI / 6));
// 绘制线条和箭头
g.DrawLine(pen, start, end);
g.FillPolygon(new SolidBrush(pen.Color), arrowPoints);
}
```
这个方法接受一个Graphics对象、一个Pen对象、起点和终点坐标以及箭头大小作为参数,可以在指定的Graphics对象上绘制带箭头的线条。
阅读全文