c# GDI+ 画掉头箭头
时间: 2024-09-06 11:02:08 浏览: 49
c#GDI+画点
在C#中使用GDI+来画一个带删除效果的箭头,可以通过以下步骤实现:
1. 创建一个Graphics对象。通常情况下,这个对象是通过继承自`System.Windows.Forms.Form`类的`CreateGraphics`方法或者在`Paint`事件中通过`e.Graphics`获得的。
2. 准备画笔(`Pen`)和画刷(`Brush`)。可以使用黑色画笔来画箭头的轮廓,使用白色或者其他颜色的画笔来画删除线。
3. 定义箭头的起始点和终点坐标,以及箭头的长度和宽度。
4. 使用`Graphics`对象的`DrawLine`方法来画箭头的线条。
5. 使用`Graphics`对象的`DrawLine`方法来在箭头上方画一条斜线形成删除效果。
下面是一个简单的示例代码:
```csharp
// 假设已经有了一个Graphics对象 graphics
using (Pen arrowPen = new Pen(Color.Black, 2))
using (Pen deletePen = new Pen(Color.White, 2))
using (SolidBrush backgroundBrush = new SolidBrush(Color.White))
{
// 绘制背景,以清晰地看到删除效果
graphics.FillRectangle(backgroundBrush, new Rectangle(0, 0, 200, 100));
// 设置箭头的起始点和终点坐标
Point startPoint = new Point(10, 50);
Point endPoint = new Point(190, 50);
// 计算箭头的长度和宽度
float arrowLength = 50;
float arrowWidth = 10;
// 画箭头
graphics.DrawLine(arrowPen, startPoint, endPoint);
// 画箭头尾部的三角形,形成箭头效果
Point[] arrowPoints = new Point[]
{
new Point(endPoint.X - arrowWidth, endPoint.Y - arrowWidth / 2),
new Point(endPoint.X, endPoint.Y),
new Point(endPoint.X - arrowWidth, endPoint.Y + arrowWidth / 2)
};
graphics.FillPolygon(Brushes.Black, arrowPoints);
// 画删除线
graphics.DrawLine(deletePen, 20, 30, 180, 80);
}
```
在这个示例中,首先设置了箭头的起点和终点坐标,然后通过`DrawLine`方法画出了箭头,接着使用`FillPolygon`方法画出了箭头尾部的三角形部分。最后,通过一条斜线来实现删除效果。
阅读全文