C# GDI+之Graphics類 z

GDI+是GDI的後繼者,它是.NET Framework爲操做圖形提供的應用程序編程接口,主要用在窗體上繪製各類圖形圖像,能夠用於繪製各類數據圖像、數學仿真等。編程

  Graphics類是GDI+的核心,它提供將對象繪製到顯式設備的方法。Graphics類封裝了繪製直線、曲線、圓形、圖像和文本的方法,是一切GDI+操做的基礎類。在繪圖以前,必須在指定的窗體上建立一個Graphics對象,才能調用Graphics類的方法畫圖。api

 

  1、建立Graphics類對象的的三種方法

    1.1 Paint事件

    在窗體或控件的Paint事件中建立,將其做爲PaintEventArgs的一部分。在爲控件建立繪製代碼時,一般會使用此方法。數組

    例如,在Paint事件中建立Graphics對象:this

private void Form1_Paint(object sender, PaintEventArgs e) //窗體的Paint事件  { Graphics g = e.Graphics; //建立Graphics對象 }

 

    1.2 CreateGraphics方法

    調用窗體或控件的CreateGraphics方法能夠獲取對Graphics對象的引用,該對象表示控件或窗體的繪圖畫面。若是在已存在的窗體或控件身上繪圖,應該使用此方法spa

    例如,在窗體的Load事件中,經過CreateGraphics方法建立Graphics對象code

 private void Form1_Load(object sender, EventArgs e) //窗體的Load事件  { Graphics g; //聲明一個Graphics對象 g = this.CreateGraphics(); }

 

    1.3 Graphics.FromImage方法

    由從Image繼承的任何對象建立Graphics對象,調用Graphics.FromImage方法便可,該方法在須要更改已存在的圖像時十分有用,例:orm

private void Form1_Load(object sender, EventArgs e) { Bitmap mbit = new Bitmap(@"C:\test.bmp"); Graphics g = Graphics.FromImage(mbit); }

 

2、Graphics類的屬性

Clip

獲取或設置 Region,它限定此 Graphics 的繪圖區域。對象

ClipBounds

獲取一個 RectangleF 結構,該結構限定此 Graphics 的剪輯區域。blog

CompositingMode

獲取一個值,該值指定如何將合成圖像繪製到此 Graphics。繼承

CompositingQuality

獲取或設置繪製到此 Graphics 的合成圖像的呈現質量。

DpiX

獲取此 Graphics 的水平分辨率。

DpiY

獲取此 Graphics 的垂直分辨率。

InterpolationMode

獲取或設置與此 Graphics 關聯的插補模式。

IsClipEmpty

獲取一個值,該值指示此 Graphics 的剪輯區域是否爲空。

IsVisibleClipEmpty

獲取一個值,該值指示此 Graphics 的可見剪輯區域是否爲空。

PageScale

獲取或設置此 Graphics 的世界單位和頁單位之間的比例。

PageUnit

獲取或設置用於此 Graphics 中的頁座標的度量單位。

PixelOffsetMode

獲取或設置一個值,該值指定在呈現此 Graphics 的過程當中像素如何偏移。

RenderingOrigin

爲抵色處理和陰影畫筆獲取或設置此 Graphics 的呈現原點。

SmoothingMode

獲取或設置此 Graphics 的呈現質量。

TextContrast

獲取或設置呈現文本的灰度校訂值。

TextRenderingHint

獲取或設置與此 Graphics 關聯的文本的呈現模式。

Transform

獲取或設置此 Graphics 的幾何世界轉換的副本。

VisibleClipBounds

獲取此 Graphics 的可見剪輯區域的邊框。

                  注:詳情參考MSDN對Graphics屬性的說明

 

3、Graphics類的經常使用方法及說明

方法 描述
Clear 清除整個繪圖面並以指定背景色填充
Dispose 釋放由此Graphics對象使用的全部資源
DrawArc 繪製一段弧線,它表示由一對座標、寬高指定的橢圓部分
DrawBezier 繪製由四個Point結構定義的貝塞爾樣條
DrawBeziers 從Point結構的數組繪製一系列貝塞爾樣條
DrawCurve 繪製通過一組指定的Point結構的基數樣條
DrawEllipse 繪製一個由一對座標、寬度和高度指定的橢圓
DrawIcon 在指定座標處繪製由指定的Icon對象表示的圖像
DrawImage 在指定的位置而且按原始大小繪製指定的Image對象
DrawLine 繪製一條鏈接由座標對象指定的兩個點的線條
DrawLines 繪製一列鏈接一組Point結構的線段
DrawPath 繪製GraphicsPath對象
DrawPie 繪製一個扇形,該扇形由一個座標對象,寬度和高度,以及兩條射線所指定的橢圓指定
DrawPolygon 繪製由一組Point結構定義的多邊形
DrawRectangle 繪製由座標對。寬度和高度指定的矩形
DrawRectangles 繪製一系列由Rectangle結構指定的矩形
DrawString 在指定位置而且用指定的Brush和Font對象繪製指定的文本字符串
FillEllipse 填充邊框所定義的橢圓內部,該邊框由一對座標、一個高度和一個寬度指定
FillPath 填充GraphicsPath對象的內部
FillPie 填充扇形內部
FillPolygon 填充多邊形內部
FillRectangle 填充由一對座標、一個寬度和一個高度指定的矩形內部
FillRectangles 填充由Rectangle結構指定的一些列矩陣的內部
FillRegion 填充Region對象的內部
FromImage 從指定的Image對象建立行的Graphics對象
Save 保存此Graphics對象的當前狀態,而且GraphicsState對象標識保存的狀態

                  注:完整的Graphics方法請查看MSDN對Graphics方法的說明

相關文章
相關標籤/搜索