GDI+存在的意義:將變成與具體硬件實現(xiàn)細節(jié)分開。 GDI+步驟:獲取畫布,繪制圖像、處理圖像 命名空間:
using System.Drawing;//提供對GDI+基本圖形功能的訪問using System.Drawing.Drawing2D;//提供高級的二維和矢量圖像功能using System.Drawing.Imaging;//提供高級GDI+圖像處理功能using System.Drawing.PRinting;//提供打印相關(guān)服務(wù)using System.Drawing.Text;//提供高級GDI+排版功能using System.Drawing.Design;//擴展設(shè)計時,用戶界面邏輯和繪制的類。用于擴展,自定義畫圖工具:
Graphics(畫布):類封裝一個GDI+繪圖圖面,提供將對象繪制到顯示設(shè)備的方法,Graphics與特定的設(shè)備上下文關(guān)聯(lián)。畫圖方法被包括在
Graphics類中,在畫任何對象之前都需要創(chuàng)建一個Graphics類實例作為畫圖。
創(chuàng)建畫布三種方法:
1.利用控件或窗體的Paint事件的PaintEventArgs
適用場景:為控件創(chuàng)建繪制代碼。
示例:
//窗體的Paint事件響應(yīng)方法private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; }//直接重載控件或者窗體的OnPaint方法: protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; }注意:Paint事件在重繪控件時發(fā)生。
2.調(diào)用某控件或窗體的CreateGraphics方法以獲取對Graphics對象的引用,該對象表示控件或窗體的繪圖圖面。
適用場景:在已經(jīng)存在的窗體或控件上繪圖
private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.Dispose(); }3.由從Image繼承的任何對象創(chuàng)建Graphics對象
適用場景:需要更改已經(jīng)存在的圖像
private void button1_Click(object sender, EventArgs e) { Image img = Image.FromFile(@"images/pic.jpg"); Graphics g=Graphics.FromImage(img); }新聞熱點
疑難解答