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);        

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM