畫筆使用(一)

2021-07-22 08:07:31 字數 1753 閱讀 2065

畫筆使用(一)

1自定義畫筆

cpen類提供於產生畫筆的建構函式。其過載函式cpen(int npenstyle, int nwidth, colorref crcolor)可以生成乙個能夠指的線型、線寬和顏色的畫筆。下面的**生成乙個具有這樣性質的畫筆:實線,寬度為6,顏色為黑色。

cpen newpen(ps_solid, 6, rgb(0, 0, 0));

dc.selectobject(&newpen);

說明:在建立自定義畫筆後,需要使用

selectobject

函式將自定義的畫筆物件選入到裝置描述表中才能使用。

此外,cpen類提供用於產生畫筆的成員函式主要有兩個:createpen函式和createpenindirect函式。前者建立擁有指定型別、寬度和屬性的幾何或裝飾筆。用法如下:

bool createpen(int npenstyle, int nwidth,colorref, crcolor);

bool createpen(int npenstyle, int nwidth,const logbrush* plogbrush, int nstylecount = 0, const dword* lpstyle = null);

引數npenstyle:指定筆的風格,如實線、虛線;

引數nwidth:指定筆的線寬;

引數crcolor:指定筆的顏色;

引數lplogbrush:指向包含刷子資訊的logbrush結構的指標;

引數nstylecount:指向lpstyle陣列以雙位元組為單位的長度。如果npenstyle不是ps_userstyle,該引數必須設為1;

引數lpstyle:指向雙位元組陣列。第乙個陣列元素的第乙個單元指定第乙個使用者定義的實筆畫長度,第二個單元指定第乙個空畫筆的長度,一次類推。如果npenstyle不是ps_userstyle,則該引數必須設為null。

此外,createpenindirect函式建立擁有logpen結構所指定風格、顏色和樣式的畫筆,用法如下:

bool createpenindirect(lplogpen lplogpen);

其中,引數lplogpen指向lplogpen結構的指標。

2畫筆的使用

使用繪畫工具的一般步驟如下:

1建立畫刷和畫筆。如該繪圖工具已經初始化,則直接可調到第3步。

2對不能僅僅由建構函式來建立的繪圖工具,需要呼叫他們的成員函式來對其進行初始化。

3使用selectobject函式將自定義繪圖工具選入裝置描述表。用selectstockobject將庫繪圖工具選入裝置描述表。

4進行繪圖操作。

5將舊的gdi物件選會裝置描述表。如第1步中用new建立物件,使用完畢後應該用delete刪除該物件。

3使用畫筆劃線

1定義點的座標

2新增wm_lbuttondown訊息

3新增wm_lbuttonup訊息

執行結果:

在 C 中使用畫筆

出處 在 c 中使用畫筆 public class rectangle shape protected point m start protected point m end public rectangle point start,point end,color fgcolor m start s...

GDI 程式設計 二 使用畫筆

畫筆常用於繪製圖形的輪廓.gdi 的畫筆除了具有常見的色彩和寬度屬性外,還具有對齊方式,線帽,變換方式等屬性。gdi 中通過pen類來定義畫筆物件。一 構造與使用畫筆 pen brush,width 用顏色與線寬構造乙個畫筆 pen color,width 用畫刷與寬度構造乙個畫筆例子 pen pe...

GDI 程式設計 二 使用畫筆

畫筆常用於繪製圖形的輪廓.gdi 的畫筆除了具有常見的色彩和寬度屬性外,還具有對齊方式,線帽,變換方式等屬性。gdi 中通過pen類來定義畫筆物件。一 構造與使用畫筆 pen brush,width 用顏色與線寬構造乙個畫筆 pen color,width 用畫刷與寬度構造乙個畫筆 例子 pen p...