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