参考链接:https://www.cnblogs.com/chauxiang/articles/3645018.html
c#画三角形、填充三角形
private void Form1_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphics;g.SmoothingMode = SmoothingMode.HighQuality;//绘制三角形//DrawTriangle_1(g);//DrawTriangle_2(g);//DrawTriangle_3(g);//填充三角形//FillTriangle_1(g);//FillTriangle_2(g);FillTriangle_3(g);}/// <summary>/// 绘制三角形(法1)/// </summary>/// <param name="g"></param>private void DrawTriangle_1(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point[] pntArr = { point1, point2, point3 };g.DrawPolygon(new Pen(Color.Red), pntArr);}/// <summary>/// 绘制三角形(法2)/// </summary>/// <param name="g"></param>private void DrawTriangle_2(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point point4 = new Point(50, 20);Point[] pntArr = { point1, point2, point3, point4 };GraphicsPath path = new GraphicsPath();path.AddLines(pntArr);g.DrawPath(new Pen(Color.Red), path);}/// <summary>/// 绘制三角形(法3)/// </summary>/// <param name="g"></param>private void DrawTriangle_3(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point point4 = new Point(50, 20);Point[] pntArr = { point1, point2, point3,point4};byte[] bytes = { (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line };GraphicsPath path = new GraphicsPath(pntArr, bytes);g.DrawPath(new Pen(Color.Red), path);}/// <summary>/// 填充三角形(法1)/// </summary>/// <param name="g"></param>private void FillTriangle_1(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point[] pntArr = { point1, point2, point3 };g.FillPolygon(Brushes.Red, pntArr);}/// <summary>/// 填充三角形(法2)/// </summary>/// <param name="g"></param>private void FillTriangle_2(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point[] pntArr = { point1, point2, point3 };GraphicsPath path = new GraphicsPath();path.AddLines(pntArr);g.FillPath(Brushes.Red, path);}/// <summary>/// 填充三角形(法3)/// </summary>/// <param name="g"></param>private void FillTriangle_3(Graphics g){Point point1 = new Point(50, 20);Point point2 = new Point(75, 50);Point point3 = new Point(100, 20);Point[] pntArr = { point1, point2, point3 };byte[] bytes = { (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line };GraphicsPath path = new GraphicsPath(pntArr,bytes);g.FillPath(Brushes.Red, path);}
