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