c# GDI+绘制一个多边形 多边形周围都有白实线,中间是绿色填充
时间: 2024-09-09 07:08:18 浏览: 40
在C#中,使用GDI+绘制一个多边形并为其周围添加白色实线边框,同时内部填充绿色,可以通过以下步骤实现:
1. 创建一个`Graphics`对象。`Graphics`对象是用于绘制所有GDI+图形的类。
2. 创建一个`Pen`对象,用于绘制多边形的边框。可以设置`Pen`对象的颜色为白色,并指定线宽。
3. 创建一个`Brush`对象,用于填充多边形的内部。可以使用`SolidBrush`并设置其颜色为绿色。
4. 使用`Graphics`对象的`DrawPolygon`方法绘制多边形的边框。
5. 使用`Graphics`对象的`FillPolygon`方法填充多边形的内部。
下面是一个示例代码:
```csharp
using System;
using System.Drawing;
class Program
{
static void Main()
{
// 创建一个窗体来承载绘图
Form form = new Form();
form.Paint += new PaintEventHandler(form_Paint);
Application.Run(form);
}
static void form_Paint(object sender, PaintEventArgs e)
{
// 获取Graphics对象
Graphics g = e.Graphics;
// 定义多边形的点
PointF[] points = { new PointF(100, 100), new PointF(150, 50),
new PointF(200, 100), new PointF(150, 150) };
// 创建一个白色边框的Pen
Pen whitePen = new Pen(Color.White, 2);
// 创建一个绿色填充的Brush
Brush greenBrush = new SolidBrush(Color.Green);
// 绘制多边形边框
g.DrawPolygon(whitePen, points);
// 填充多边形内部
g.FillPolygon(greenBrush, points);
// 释放资源
whitePen.Dispose();
greenBrush.Dispose();
}
}
```
在上述代码中,首先创建了一个窗体,并在窗体的`Paint`事件中进行绘图操作。定义了一个`PointF`数组来指定多边形的顶点坐标。创建了一个白色的`Pen`对象和一个绿色的`Brush`对象,然后使用`DrawPolygon`和`FillPolygon`方法绘制并填充多边形。最后,代码中还包含了资源释放的操作,以避免内存泄漏。
阅读全文