GDI Plus 物件說明
一、使用 GDI+ 建立圖形影像:
在可使用 GDI+ 描繪線條和形狀、呈現文字或顯示和管理影像之前,
您必須先建立 Graphics 物件。
TGPGraphics:代表 GDI+ 描繪介面,而且是用來建立圖形影像的物件。
*您可使用下列幾種方法來建立圖形物件:
(1)在表單或控制項的 Paint 事件中。
這通常是當您建立控制項的描繪程式碼時,取得圖形物件參考的方式。
(2)藉由呼叫控制項或表單的 CreateGraphics 方法來取得表示該控制項或
表單描繪介面的 Graphics 物件參考。如果您要在現有表單或控制項上
進行描繪,您就會使用這個方法。
(3)藉由從繼承自 Image 的任何物件建立 Graphics 物件。
當您要變更現有影像時,這個方法會相當有用。
*描繪與管理形狀和影像:
在建立 Graphics 物件之後,您可使用它來描繪線條和形狀、呈現文字或顯示和管理影像。
與 Graphics 物件一起使用的主要物件如下:
(a)Pen 類別:用來描繪線條、勾畫形狀或是呈現其他的幾何圖形。
(b)Brush 類別:用來填滿圖形的區域、例如實心形狀、影像或文字。
(c)Font 類別:提供呈現文字時使用哪種形狀的描述。
(d)Color 結構:表示要顯示的不同色彩。
二、畫筆、筆刷和色彩:
您可使用 GDI+ 的畫筆和筆刷物件來呈現圖形、文字和影像。
畫筆是 Pen 類別的執行個體 (Instance),可用來描繪線條和勾畫形狀。
筆刷是衍生自 MustInherit (抽象) Brush 類別的任何類別的執行個體,
可用來填滿形狀或繪製文字。Color 物件是表示特定色彩的類別的執行個體,
可讓畫筆和筆刷用來指示呈現圖形的色彩。
1.TGPPen:代表畫筆是用來描繪線條、曲線和勾畫形狀。
2.筆刷是和 TGPGraphics 物件一起用來建立實心形狀和呈現文字的物件。
筆刷有幾種不同的類型:(以下繼承至TGPBrush而來)
(1)TGPSolidBrush(純色):
最簡單的筆刷形式,用來繪製純色。
(2)TGPHatchBrush(簡單圖樣):
與 TGPSolidBrush 類似,但它允許您選取許多不同的預設圖樣來進行繪製,
而不只是純色而已。
(3)TGPTextureBrush(複雜圖樣):
使用紋理來繪製,例如影像。
(4)TGPLinearGradientBrush(複雜陰影):
繪製混用了漸層的雙色。
(5)TGPPathGradientBrush(複雜陰影):
根據開發人員定義的唯一路徑,使用複雜的混色漸層進行繪製。
使用者定義色彩
3. Color 是用來表示不同的色彩。
(1)系統內定色彩 TColor。
(2)使用者定義色彩:MakeColor(255, 0, 127, 0);
例如:
SolidBrush := TGPSolidBrush.Create(MakeColor(255, 0, 127, 0));
或
GPBrush := TGPSolidBrush.Create($FFFF00FF); //$FF......<--第一組$FF不可改00
// FF00FF(表示RGB色彩)
三、使用 GDI+ 描繪線條和形狀:
Graphics 物件提供方法來描繪各種線條和形狀。您可使用純色或透明色,
或使用使用者定義的漸層或影像紋理來呈現簡單或複雜的形狀。
使用 Pen 物件則可建立線條、開放曲線和外框形狀。
若要填滿某個區域,例如矩形或封閉曲線,就必須使用 Brush 物件。
(1)若要描繪線條或外框形狀:
(a)取得要用來描繪的圖形物件參考。
(b)建立要用來描繪線條的 Pen 類別執行個體,接著設定任何適當屬性。
(c)呼叫適用於所要描繪形狀的方法,提供任何必要參數。
下表列出一些常用方法:(如需完整清單,請參閱 TGPGraphics 方法。)
1.Graphics.DrawLine 方法:
線條;需要座標來指示起點和終點。
2.Graphics.DrawPolygon 方法:
複雜形狀;可能需要座標的陣列。
3.Graphics.DrawRectangle 方法:
矩形;需要一或多個物件 (例如 Rectangle 物件) 當作參數。
(2)若要描繪實心形狀:
(a)取得要用來描繪的圖形物件參考。
(b)建立要用來繪製形狀的 Brush 執行個體。
(c)呼叫適用於所要繪製形狀的方法,提供任何適當參數。
對像是 FillPolygon 的一些方法來說,您將需要提供描述所要繪製形狀外框的點陣列。
其他像是 FillRectangle 或 FillPath 的方法則需要描述所要填滿區域的物件。
四、使用 GDI+ 描繪文字:
您可將任何圖形物件當作介面使用來呈現文字。呈現文字需要 Brush 物件,
它會指示填滿文字的圖樣,而且還需要 Font 物件來描述要填滿的圖樣。
字型可以是任何安裝在系統上的具名字型,而且筆刷也可以是任何種類的筆刷。
因此,您可使用純色、圖樣,甚或是影像來繪製文字。
*使用 GDI+ 描繪文字:(以下繼承至TGdiplusBase而來)
(1)TGPFont
(2)TGPFontCollection
(3)TGPFontFamily
*若要使用 GDI+ 呈現字串:
(1)取得要用來描繪的圖形物件參考。
(2)建立要用來繪製文字的 Brush 執行個體。
(3)建立要用來顯示文字的字型。
(4)呼叫 Graphics 物件的 Graphics.DrawString 方法來呈現您的文字。
(a)如果您提供 RectangleF 物件,文字會在矩形內換行顯示。
(b)否則文字會在您提供的起點座標開始顯示。
五、使用 GDI+ 呈現影像:
您可使用 GDI+ 來呈現應用程式中以檔案形式存在的影像。
您可藉由建立 Image 類別的新物件 (例如 Bitmap)、建立參考所要使用描繪介面的 Graphics 物件
以及呼叫 Graphics 物件的 DrawImage 方法來執行上述作業。
影像會被繪製到以圖形類別表示的描繪介面上。
您可使用影像編輯器在設計階段建立和編輯影像檔,並使用 GDI+ 在 Run Time 呈現它們。
*若要使用 GDI+ 呈現影像:
(1)建立用來表示所要顯示影像的物件。
這個物件必須是繼承自 Image 的類別的成員,例如 Bitmap 或 MetaFile。
(2)建立表示所要使用描繪介面的 Graphics 物件。
(3)呼叫圖形物件的 Graphics.DrawImage 方法來呈現影像。
您必須同時指定要描繪的影像和描繪位置的所在座標。
联系客服