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