六、使用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);

}

效果

posted on 2012-05-18 17:22  kiny  阅读(5051)  评论(0编辑  收藏  举报