天天看點

C#程式設計學習46:GDI繪圖接口的使用

Step 1:  定義圖像:

// 建立一個Image對象
int width = 600;
int height = 400;
Image myImage = new Image(width, height);
           

Step 2: 将Image對象裝入繪圖闆,之後所有的繪圖操作将在繪圖闆上進行

Graphics myGraphic = Graphics.FromImage(myImage);
           

Step 3: 定義畫筆、畫刷、字型

// 根據RGB色值定義畫筆
Pen myPen = new Pen(Color.FromArgb(255,0,0),1);
// 使用系統顔色定義畫筆
Pen grayPen = new Pen(Color.Gray);
// 定義畫刷
Brush blackBrush = new SolidBrush(Color.Black);
// 定義字型
Font songFont = new Font("宋體", 8, FontStyle.Bold);
           

Step 4: 繪制圖形

注意:GDI中的坐标定義規則

  • X表示橫軸,Y表示縱軸
  • 起點在繪圖闆的左上角,向右為X正方向,向下為Y正方向
  • X軸方向為寬度方向,Y軸方向為高度方向
// 繪制一條線,
// 參數為:畫筆、起點X、起點Y、終點X、終點Y
myGraphic.DrawLine(blackPen, startPtX, startPtY, endPtX, endPtY);

// 繪制一個矩形
// 參數為:畫筆、矩形左上角點X、矩形左上角點Y、矩形寬度、矩形高度
myGraphic.DrawRectangle(blackPen, x, y, w, h);

// 繪制一個圓形 -- 繪制圓形時,令長軸等于短軸即可
// 參數為:畫筆、橢圓左上角點X、橢圓左上角點Y、橢圓長軸、橢圓短軸
myGraphic.DrawEllipse(blackPen, x, y, w, h);
           

Step 5: 繪制字元串

注意:繪制字元串時,一定要進行矩形畫刷填充,否則字元串會擠成一坨,看不清

// 1. 定義字元串格式
StringFormat sf = new StringFormat{
    LineAlignment = StringAlignment.Center,
    Alignment = StringAlignment.Center,
    FormatFlags = StringFormatFlags.NoWrap
};
// 2. 定義字元串的填充矩形
Rectangle rect = new Rectangle(x, y, w, h);
myGraphic.FillRectangle(new SolidBrush(Color.White), rect);

// 3. 添加字元串到繪圖闆
// 參數按順序依次為:字元串内容,字型,畫刷,放置字元串的矩形、字元串格式定義
myGraphic.DrawString(context, font, brush, rect, sf);
           

Step 6: 将圖配置給圖檔控件

// 配置繪制的圖像到圖檔控件
this.pictureBox.Image = myImage;
// 銷毀繪圖版
myGraphic.Dispose();
           

更多精彩,歡迎關注

C#程式設計學習46:GDI繪圖接口的使用