1、Graphics類 封裝一個 GDI+ 繪圖圖面。 此類不能被繼承。 創(chuàng)建Graphics對象有3種方法:
private void Form1_Paint(object sender,PaintEventArgs e){ Graphics g=e.Graphics; //創(chuàng)建Graphics對象}
private void Form1_Load(object sender,EventArgs e){ Graphics g; g=this.CreateGraphics(); //使用CreateGraphics方法創(chuàng)建Graphics對象}
private void Form1_Load(object sender,EventArgs e){ Bitmap mbit=new Bitmap(@'C:\ls.bmp'); //實例化Bitmap類 Graphics g=Graphics.FromImage(mbit); //通過FromImage方法創(chuàng)建Graphics對象} Graphics類屬性: Graphics類方法:
定義用于繪制直線和曲線的對象。 此類不能被繼承。 構(gòu)造函數(shù):
命名空間: System.Drawing 創(chuàng)建一個Pen對象,使其顏色為藍(lán)色,寬度為2,代碼如下: Pen mypen=new Pen(Color.Blue,2); 3、Brush類 (1)SolidBrush類 定義一種顏色的畫筆。 畫筆用于填充圖形形狀,如矩形、 橢圓、 餅、 多邊形和路徑。 此類不能被繼承。 public sealed class SolidBrush : Brush 構(gòu)造函數(shù): SolidBrush(Color):初始化新 SolidBrush 指定顏色的對象。 (2)HatchBrush類定義矩形畫筆陰影樣式、 前景顏色與背景色。 此類不能被繼承。 public sealed class HatchBrush : Brush 構(gòu)造函數(shù):
4、實例1---通過Brush對象將繪制的矩形填充為紅色。 (1)新建一個C#窗體項目,添加一個按鈕“繪制并填充”。 (2)代碼: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 測試?yán)L圖{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Graphics ghs = this.CreateGraphics(); //創(chuàng)建Graphics對象 Brush mybs = new SolidBrush(Color.Red); //使用SolidBrush類創(chuàng)建一個Brush對象 Rectangle rt = new Rectangle(10,10,90,90); //繪制一個矩形 ghs.FillRectangle(mybs, rt); //用Brush填充Rectangle } }} 運行結(jié)果: 5、實例2---繪制直線和矩形 (1)新建一個C#窗體項目,添加3個按鈕“水平直線”“垂直直線”和“繪制矩形”。 (2)代碼: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 測試?yán)L圖{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) //繪制水平直線 { Pen mypen = new Pen(Color.Blue, 3); //實例化Pen類 Point pt1 = new Point(10,50); //實例化Point類 Point pt2 = new Point(60, 50); //實例化Point類 Graphics g = this.CreateGraphics(); //實例化Graphics類 g.DrawLine(mypen,pt1,pt2); //調(diào)用DrawLine方法繪制直線 } private void button2_Click(object sender, EventArgs e) //繪制水平直線 { Graphics gr = this.CreateGraphics(); //實例化Graphics類 Pen mypen = new Pen(Color.Red, 3); //實例化Pen類 gr.DrawLine(mypen, 100,30,100,100); //調(diào)用DrawLine方法繪制直線 } private void button3_Click(object sender, EventArgs e) //繪制矩形 { Graphics gr = this.CreateGraphics(); //實例化Graphics類 Pen mypen = new Pen(Color.Green, 4); //實例化Pen類 gr.DrawRectangle(mypen, 60, 60, 100, 100); //調(diào)用DrawRectangle方法繪制矩形 } }} 運行結(jié)果: |
|