GDI+存在的意義:將變成與具體硬件實(shí)現(xiàn)細(xì)節(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;//擴(kuò)展設(shè)計(jì)時(shí),用戶界面邏輯和繪制的類。用于擴(kuò)展,自定義
畫圖工具: Graphics(畫布):類封裝一個(gè)GDI+繪圖圖面,提供將對象繪制到顯示設(shè)備的方法,Graphics與特定的設(shè)備上下文關(guān)聯(lián)。畫圖方法被包括在 Graphics類中,在畫任何對象之前都需要?jiǎng)?chuàng)建一個(gè)Graphics類實(shí)例作為畫圖。 創(chuàng)建畫布三種方法: 1.利用控件或窗體的Paint事件的PaintEventArgs 適用場景:為控件創(chuàng)建繪制代碼。 示例: //窗體的Paint事件響應(yīng)方法
//直接重載控件或者窗體的OnPaint方法:
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; } 注意:Paint事件在重繪控件時(shí)發(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); }
Graphics類主要成員方法:
|
|