六、使用GDI+画矩形、多边形


用到的函数DrawRectangle、DrawPolygon

DrawRectangle(Pen,Rectangle)

DrawRectangle(Pen,Int32,Int32,Int32,Int32)

DrawRectangle(Pen,Single,Single,Single,Single)

DrawPolygon(Pen,Point[])

DrawPolygon(pen,PointF[])

先画一个矩形

private void Form1_Paint(object sender, PaintEventArgs e)
{    
    //创建画板从Paint事件中的直接引用Graphics对象
    Graphics graphics = e.Graphics;

    graphics.Clear(Color.Black);

    //定义画笔
    Pen pen = new Pen(Color.White, 3.0f);
    Pen thickPen = new Pen(Color.White,2.0f);
    Pen thick = new Pen(Color.Red, 2.0f);

    //矩形区域
    Rectangle rect = new Rectangle(50,50, 300, 100);

    graphics.DrawRectangle(pen, rect);

}

效果:

如果Rectangle的width=height绘制出来的就是正方形

同时绘制多个矩形

private void Form1_Paint(object sender, PaintEventArgs e)
{    
    //创建画板从Paint事件中的直接引用Graphics对象
    Graphics graphics = e.Graphics;

    graphics.Clear(Color.Black);

    //定义画笔
    Pen pen = new Pen(Color.White, 3.0f);
    Pen thickPen = new Pen(Color.White,2.0f);
    Pen thick = new Pen(Color.Red, 2.0f);

    //矩形区域
    Rectangle[] rect = { 
                           new Rectangle(50, 50, 300, 100),
                           new Rectangle(50,50,300,300),
                           new Rectangle(100,100,200,400)
                       }; 

    graphics.DrawRectangles(pen, rect);

}

效果

绘制多边形

private void Form1_Paint(object sender, PaintEventArgs e)
{    
    //创建画板从Paint事件中的直接引用Graphics对象
    Graphics graphics = e.Graphics;

    graphics.Clear(Color.Black);

    //定义画笔
    Pen pen = new Pen(Color.White, 3.0f);
    Pen thickPen = new Pen(Color.White,2.0f);
    Pen thick = new Pen(Color.Red, 2.0f);

    //多边形个点坐标
    Point[] points = {
                         new Point(10,10),
                         new Point(5,25),
                         new Point(35,200),
                         new Point(80,100),
                         new Point(50,70)
                     };

    graphics.DrawPolygon(pen, points);

}

 

矩形、多边形都能有函数能绘制出来,没有三角形的绘制函数?如何绘制三角形呢?

用DrawPolygon绘制等腰三角形

private void Form1_Paint(object sender, PaintEventArgs e)
{    
    //创建画板从Paint事件中的直接引用Graphics对象
    Graphics graphics = e.Graphics;

    graphics.Clear(Color.Black);

    //定义画笔
    Pen pen = new Pen(Color.White, 3.0f);
    Pen thickPen = new Pen(Color.White,2.0f);
    Pen thick = new Pen(Color.Red, 2.0f);

    //三角形个点坐标
    Point[] points = {
                         new Point(100,100),
                         new Point(50,250),
                         new Point(150,250)
                     };

    graphics.DrawPolygon(pen, points);

}

效果


免责声明!

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



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