在C#中,使用GDI+(Graphics Device Interface Plus)可以绘制各种图形,包括多边形。DrawPolygon
方法是用来绘制多边形的。这个方法需要一个Pen
对象来定义多边形的边界样式(颜色、宽度等),以及一个点数组Point[]
来定义多边形的各个顶点。
DrawPolygon(Pen, PointF[]) | 绘制由一组 PointF 结构定义的多边形。 |
DrawPolygon(Pen, Point[]) | 绘制由一组 Point 结构定义的多边形。 |
画一个五角星
C#protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//申明一个黑色的画笔
Pen pen = new Pen(Color.Black, 3);
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
//为多边形顶点创建一个Point数组
Point[] ps ={
new Point(0,76),
new Point(80,76),
new Point(106,0),
new Point(130,76),
new Point(210,76),
new Point(146,124),
new Point(170,200),
new Point(106,152),
new Point(40,200),
new Point(66,124),
};
e.Graphics.DrawPolygon(pen, ps);
}
画一个正方形
C#protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Pen pen = new Pen(Color.Black, 3);
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Point[] ps ={
new Point(10,10),
new Point(10,100),
new Point(100,100),
new Point(100,10),
};
//连接多边形
e.Graphics.DrawPolygon(pen, ps);
//填充颜色
e.Graphics.FillPolygon(new SolidBrush(Color.Red), ps);
}
调整Point顺序结果会不同
C#protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Pen pen = new Pen(Color.Black, 3);
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
Point[] ps ={
new Point(10,10),
new Point(100,100),
new Point(10,100),
new Point(100,10),
};
e.Graphics.DrawPolygon(pen, ps);
e.Graphics.FillPolygon(new SolidBrush(Color.Red), ps);
}
本文作者:rick
本文链接:https://www.idiosoft.com/post/105
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
预览: