在msdn中graphic section部分有兩個api是拿來單獨描述的,他們分別是alphablend和gradientfill,alphablend的參數列類似bitble,但gradientfill,從它們的參數列能看出它比較複雜,於是我做了封裝
bool gradientfill(hdc hdc,ptrivertex pvertex,ulong nvertex, pvoid pmesh,ulong ncount, ulong ulmode);
//h檔案,首先封裝乙個rgb類
//封裝rgb
class crgb;
#ifdef _unittest
class crgb
#else
class dllexport crgb
#endif
;//cpp檔案
//封裝rgb
crgb::crgb(int r,int g,int b,int a)
//封裝的目的實現對目標dc的目標區域內的慚變透明貼圖
hdc:目標視窗的hdc
crt:目標區域
cr1:開始的色彩
cr2:結束的色彩
fillstyle:填充的方向,橫向填充還是豎向填充
btran:是否做透明填充
void cpicloader::gradientfillrect(hdc hdc,const crect* crt,const crgb* cr1,const crgb* cr2,ulong fillstyle,bool btran)
else
selectobject(hdcgra,holdgrabmp);
deleteobject(hbmpgra);
deletedc(hdcgra);
//}}
C 中的 gdi 而不是 gdi
我記得有多種方法的,不過我現在的部分資料還沒恢復,下面這個是的.我記得我用是因為 gdi 的字串繪畫時無法限制在區域內,而 gdi 是可以的.這實在是奇怪.2009 09 02 14 20 08 最近重寫tabcontrol控制項,但是發現tab與其中的字型長度不合適,我希望長度應該是正合適的情況。...
GDI 中的圓角矩形
gdi 是對gdi的乙個令人興奮的擴充套件,但由於某些原因,它沒有提供繪製圓角矩形的函式,雖然我們可以在gdi 中使用gdi中的函式,但這樣一來我們沒辦法在圓角矩形中使用gdi 中的紋理和透明色等新特性。怎麼辦?gdi 中有乙個graphicspath 的類,我們可以用它構造各種形狀並且可用任何畫刷...
GDI 中的圓角矩形
翻譯 李昊 原文出處 http www.codeproject.com 源 gdiplusroundedrect gdi 是對gdi的乙個令人興奮的擴充套件,但由於某些原因,它沒有提供繪製圓角矩形的函式,雖然我們可以在gdi 中使用gdi中的函式,但這樣一來我們沒辦法在圓角矩形中使用gdi 中的紋理...