青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Jiang's C++ Space

創(chuàng)作,也是一種學(xué)習(xí)的過(guò)程。

   :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::

【20060307發(fā)表于blog.csdn.net,20090403重編輯】

1、GDI名字的意義
GDI Graphic Device Interface,我說(shuō)不清和GUI有什么區(qū)別??赡芤环N針對(duì)設(shè)備,一種針對(duì)用戶而言吧,反正以后都說(shuō)GDI,也就是Windows的圖形編程。

2、設(shè)備描述上下文HDC
Handle Device Context
這個(gè)是關(guān)鍵的關(guān)鍵,可以理解成畫(huà)圖的環(huán)境,何謂環(huán)境?畫(huà)板,紙,筆,尺寸,字體,顏色,區(qū)域等。反正包括你能想到的和未能想到的了。要畫(huà)出不同的圖形,很大程度上是對(duì)HDC的修改。

3、HDC的創(chuàng)建方式
WM_PAINT消息來(lái)的時(shí)候,用:

hdc = BeginPaint(hwnd, &ps);
//...
EndPaint(hwnd, &ps);

結(jié)束后ps區(qū)域自動(dòng)變有效。還有:

hdc = GetDC(hwnd);
//...
ReleaseDC(hwnd, hdc);

這一對(duì)需要調(diào)用ValidateRect()函數(shù)來(lái)使得區(qū)域有效。

還有別的辦法,但不常用,這里略過(guò)。不過(guò)有一個(gè)還是值得一說(shuō),那就是取得Window HDC的辦法,用它可以在Windows非客戶區(qū)畫(huà)圖:

hdcWindow = GetWindowDC(hwnd);
//...
ReleaseDC(hwnd, hdcWindow);


4、獲取HDC信息
GetDeviceCaps()
其中比較重要的指標(biāo)是:
HORZRES - horizontal resolution
VERTRES - vertical resolution
BITSPIXEL - 色深

5、保存HDC與還原HDC

SaveDC(hdc);
RestoreDC(hdc, 
-1);


6、畫(huà)圖畫(huà)圖!

//[偽碼]

// ----- 點(diǎn) -----
//畫(huà)點(diǎn)
SetPixel(hdc, x, y, crColor);
//取點(diǎn)顏色
crColor = GetPixel(hdc, x, y);

// ----- 直線 -----
//最后一參數(shù)為NULL表示不返回最后點(diǎn)
MoveToEx(hdc, x, y, lpPrevPoint);
//畫(huà)線
LineTo(hdc, x, y);
//畫(huà)多線,不移動(dòng)當(dāng)前點(diǎn)
Polyline(hdc, lpPoint, cPointNum);
//畫(huà)多線,移動(dòng)當(dāng)前點(diǎn)
PolylineTo(hdc, lpPoint, cPointNum);
//畫(huà)多組多線
PolyPolyline(hdc, lppt, lpNum, cCount);

//----- 曲線 -----
//畫(huà)橢圓線
Arc();
//畫(huà)比澤爾曲線,不移動(dòng)但前點(diǎn)
PolyBezier();
//畫(huà)比澤爾曲線,移動(dòng)當(dāng)前點(diǎn)
PolyBezierTo();

//----- 區(qū)域 -----
//畫(huà)矩形
Rectangle();
//畫(huà)橢圓
Ellipse();
//畫(huà)帶圓角的矩形
RoundRect();
//畫(huà)扇
Pie();
//畫(huà)弓
Chord();


7、畫(huà)筆HPEN(改變線條)
方法1:
HPEN hPen = GetStockObject(ARGUMENTS);
ARGUMENTS為:BLACK_PEN 黑筆WHITE_PEN 白筆

HPEN hPen = SelectObject(hdc, GetStockObject(WHITE_PEN));
DelectObject(hPen);

方法2:
HPEN hPen = CreatePen(iPenStyle, iWidth, crColor);
iPenStyle為:PS_SOLID實(shí)線PS_DASH虛線PS_DOT點(diǎn)線PS_DASHDOT虛點(diǎn)線PS_DASHDOTDOT虛雙點(diǎn)線PS_NULL空線PS_INSIDEFRAME??

DeleteObject(SelectObject(hdc, GetStockObject(BLACK_PEN)));

獲取畫(huà)筆信息:

GetObject(hPen, sizeof(LOGPEN), (LPVOID)&logpen);

選出HDC中的畫(huà)筆:

hPen = GetCurrentObject(hdc, OBJ_PEN);


8、背景模式
改變背景模式,也就是制定虛線間間隙的填充問(wèn)題了:

SetBkColor(hdc, crColor);
SetBkMode(hdc, TRANSPARENT);
SetBkMode(hdc, OPAQUE);

有Set嘛,相應(yīng)地有Get了,這里略過(guò)。

9、疊加模式

SetROP2(hdc, iDrawMode);
iDrawMode 
= GetROP2(hdc);


10、畫(huà)刷HBRUSH(改變填充)
畫(huà)刷能指明區(qū)域填充模式。
方法1:

HBRUSH hBrush = GetStockObject(GRAY_BRUSH);
SelectObject(hdc, hBrush);

方法2:

HBRUSH hBrush = CreateSolidBrush(crColor);
HBRUSH hBrush 
= CreateHatchBrush(iHatchStyle, crColor);


11、多邊形填充模式及畫(huà)多邊形

SetPolyFillMode(hdc, iMode); //iMode:ALTERNAME WINDING
Polygon();

12、區(qū)域HRGN(繪畫(huà)范圍)

HRGN hRgn = CreateRectRgn(x1, y1, x2, y2);
HRGN hRgn 
= CreateRectRgnIndirect(&rect);
HRGN hRgn 
= CreateEllipticRgn(x1, y1, x2, y2);
HRGN hRgn 
= CreateEllipticRgnIndirect(&rect);

區(qū)域合并

CombineRgn(hDestRgn, hSrcRgn1, hSrcRgn2, iCombine); //iCombine: RGN_AND, RGN_OR, RGN_XOR, RGN_DIFF, RGN_COPY

注意:hDestRgn, hSrcRgn1, hSrcRgn2都必須有效。

FillRgn(); //填充區(qū)域。
FrameRgn(); //給區(qū)域畫(huà)邊。
InvertRgn(); //反轉(zhuǎn)區(qū)域。
HRGN hRgnPrev = SelectObject(hdc, hRgn); //將區(qū)域放置入HDC。

使區(qū)域無(wú)效/有效:

InvalidateRgn(hRgn);
ValidateRgn(hRgn);
posted on 2009-04-03 19:02 Jiang Guogang 閱讀(1629) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Windows Programming
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品家庭影院| 99精品久久| 亚洲品质自拍| 国产一区二区成人久久免费影院| 欧美午夜一区二区三区免费大片 | 欧美精品成人在线| 欧美日韩1234| 欧美日韩亚洲三区| 欧美小视频在线观看| 欧美精品在线一区二区| 欧美精品一线| 国产精品二区三区四区| 国产一区日韩二区欧美三区| 伊人久久亚洲美女图片| 亚洲黄色影片| 亚洲欧美日韩一区二区三区在线观看 | 国产亚洲毛片在线| 亚洲精品1234| 午夜精品久久久久久久99黑人| 欧美伊人影院| 欧美激情亚洲视频| 亚洲宅男天堂在线观看无病毒| 久久精品一区二区三区不卡| 欧美a级在线| 欧美激情导航| 国产亚洲日本欧美韩国| 亚洲第一中文字幕| 性欧美xxxx大乳国产app| 欧美va亚洲va国产综合| 亚洲视频第一页| 欧美国产日韩一区二区| 国产日韩欧美精品| 亚洲免费精彩视频| 可以看av的网站久久看| 亚洲深夜福利视频| 欧美精品亚洲| 亚洲国产黄色| 欧美与黑人午夜性猛交久久久| 亚洲成人资源| 久久国产精品免费一区| 欧美日韩视频一区二区三区| 国产在线精品二区| 香蕉久久夜色精品| 亚洲美女av黄| 欧美成人三级在线| 亚洲电影成人| 免费欧美在线视频| 午夜精品久久久久久99热| 欧美日韩国产区| 亚洲人成网站影音先锋播放| 久久久亚洲精品一区二区三区| 亚洲视频每日更新| 欧美天天视频| 一区二区欧美日韩视频| 亚洲国内精品在线| 欧美成人亚洲成人| 亚洲第一精品在线| 麻豆精品网站| 久久精品视频网| 国产农村妇女毛片精品久久麻豆| 亚洲视频大全| 日韩小视频在线观看| 欧美极品aⅴ影院| 一区二区三区四区五区视频| 91久久久久久| 欧美激情第一页xxx| 99国内精品久久久久久久软件| 久久综合成人精品亚洲另类欧美 | 午夜一区在线| 亚洲欧美久久久| 国产欧美一区二区在线观看| 午夜在线一区| 久久激情视频久久| 激情丁香综合| 亚洲国产婷婷香蕉久久久久久99| 免费成人你懂的| 一本久道综合久久精品| 99精品久久| 国产欧美婷婷中文| 麻豆精品精华液| 欧美成人精品h版在线观看| 一本到高清视频免费精品| 亚洲国产导航| 亚洲欧美日韩天堂| 欧美一区二区三区视频免费| 黑人巨大精品欧美一区二区小视频| 欧美尤物巨大精品爽| 久久综合一区| 亚洲一区欧美二区| 亚洲欧美日韩国产一区二区三区| 国产一区二区剧情av在线| 免费成人激情视频| 欧美日韩美女在线观看| 久久精品国产视频| 欧美国产精品v| 欧美亚洲一级| 久久亚洲欧美国产精品乐播| 亚洲精品美女久久7777777| 一本色道久久综合亚洲精品不| 国内精品99| av72成人在线| 一色屋精品亚洲香蕉网站| 亚洲国产精品v| 国产欧美一区二区三区沐欲| 欧美成人按摩| 国产网站欧美日韩免费精品在线观看 | 午夜视频在线观看一区二区| 精品成人在线| 亚洲色图综合久久| 亚洲电影免费观看高清| 亚洲欧美一区二区三区极速播放 | 国产精品永久入口久久久| 欧美成人在线免费视频| 国产精品久久久久久亚洲调教| 欧美aⅴ99久久黑人专区| 国产精品久久久久免费a∨ | 久久精品国产91精品亚洲| 欧美国产日韩一区二区| 久久人人97超碰精品888| 欧美午夜不卡视频| 久久综合福利| 国产精品美女久久| 一区二区三区国产盗摄| 亚洲欧洲在线一区| 久久色在线播放| 欧美一区午夜精品| 国产精品户外野外| 中文在线资源观看视频网站免费不卡| 亚洲国产精品一区二区www在线| 亚洲欧美一区二区三区在线| 亚洲夜晚福利在线观看| 欧美精品一区二区视频| 亚洲国产一区二区三区高清| 亚洲福利一区| 麻豆国产精品va在线观看不卡| 久久九九国产精品| 国产女人水真多18毛片18精品视频| 亚洲理伦在线| 亚洲一二三区视频在线观看| 亚洲国产日韩欧美在线动漫| 久久一区二区三区国产精品| 久久久999国产| 国产乱理伦片在线观看夜一区 | 亚洲视频在线观看网站| 欧美精品久久久久久久免费观看| 欧美高清视频一区二区| 亚洲国产精品福利| 麻豆精品在线观看| 亚洲精品在线观看免费| 国产精品99久久不卡二区| 欧美三区视频| 亚洲性图久久| 久久久91精品国产一区二区精品| 国产一区二区三区的电影| 欧美资源在线观看| 亚洲第一区色| 中文网丁香综合网| 国产精品一二| 久久久夜夜夜| 亚洲免费福利视频| 欧美一区二区三区四区在线观看地址 | 久久久久久久国产| 国模私拍一区二区三区| 亚洲免费久久| 午夜亚洲福利| 在线成人中文字幕| 欧美日韩国产成人在线免费 | 久久久av水蜜桃| 好看的日韩av电影| 欧美成人免费全部| 亚洲欧美日韩综合国产aⅴ| 快射av在线播放一区| 亚洲看片网站| 国产小视频国产精品| 欧美**人妖| 亚洲在线观看视频网站| 欧美成人精品1314www| 一区二区三区国产盗摄| 国产一区香蕉久久| 欧美日韩国产欧美日美国产精品| 午夜精品视频| 亚洲国产一区二区三区在线播 | 欧美一二区视频| 亚洲精品综合久久中文字幕| 性色av一区二区怡红| 亚洲国产精品久久精品怡红院| 欧美色中文字幕| 美女诱惑黄网站一区| 亚洲男人的天堂在线| 日韩亚洲欧美在线观看| 嫩草影视亚洲| 久久精品最新地址| 中国成人黄色视屏| 亚洲高清123| 国产原创一区二区| 国产精品午夜春色av| 欧美精品一区二区三区四区| 久久精品夜色噜噜亚洲a∨| 午夜在线播放视频欧美| 一本久道综合久久精品|