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

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks

常用鏈接

留言簿(8)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜


    繪圖是屬于
GDI的對(duì)象之一,在一套游戲開(kāi)發(fā)過(guò)程中,常常需要運(yùn)用大量的位圖來(lái)構(gòu)建游戲的所有畫(huà)面。
    以游戲程序來(lái)說(shuō),由于使用的位圖數(shù)量相當(dāng)多,因此都會(huì)先將位圖存成文件,等到程序需要時(shí)再將文件加載到窗口中。
    將位圖從文件中加載到繪制窗口中必須經(jīng)過(guò)以下幾個(gè)步驟:
    ①?gòu)奈募屑虞d位圖(
BITMAP)對(duì)象。
    ②建立一個(gè)與窗口
DC兼容的內(nèi)存DC
    ③內(nèi)存
DC使用步驟1所建立的位圖對(duì)象。
    ④將
內(nèi)存DC的內(nèi)容粘帖到窗口DC中,完成顯像的操作。


    以上是大致的流程,接下來(lái)一步步地說(shuō)明如何完成這些操作

步驟一:加載位圖

    要從文件加載位圖,常使用LoadImage()函數(shù)

HANDLE LoadImage(   HINSTANCE 來(lái)源實(shí)體,   //加載位圖
                                         
LPCTSTR 名稱(chēng),
                                          UINT 位圖類(lèi)型,
                                         
int 加載寬度,
                                         
int 加載高度,
                                         UINT 加載方式,);

     詳細(xì)說(shuō)明如下: 

參數(shù)

說(shuō)明

HINSTANCE

包含位圖所在的實(shí)體,若要加載的位圖存在于硬盤(pán)或者資源文件中,則將此項(xiàng)參數(shù)設(shè)為”NULL”

LPCTSTR

要加載位圖所在的路徑與文件名或者資源名稱(chēng)

UINT

加載位圖的類(lèi)型,有下列3種:

◆IMAGE_BITMAP:加載的位圖為一般圖文件,擴(kuò)展名為“.bmp”

◆IMAGE_CURSOR:加載的位圖為光標(biāo)圖標(biāo),擴(kuò)展名為“.cur”

◆IMAGE_ICON:加載的位圖為圖標(biāo),擴(kuò)展名為“.ico”

int

位圖加載的寬度,單位為像素

int

位圖加載的高度,單位為像素

UINT

設(shè)定位圖的加載方式,若是從文件中加載位圖,則設(shè)為“LR_LOADFROMFILE

步驟二:建立與窗口DC兼容的內(nèi)存DC

     內(nèi)存DC并不是真正的設(shè)備的DC,在這里把它揭示為一個(gè)緩沖區(qū)或許會(huì)更恰當(dāng)些。內(nèi)存DC用來(lái)暫存加載的位圖,由于最終會(huì)把存儲(chǔ)在這個(gè)內(nèi)存DC上的位圖貼到真正的窗口的DC上,因此這個(gè)內(nèi)存DC必須跟窗口DC的性質(zhì)兼容。可調(diào)用CreateCompatibleDC()函數(shù)來(lái)建立內(nèi)存DC

HDC CreateCompatibleDC(HDC hdc); // 建立兼容DC

    函數(shù)中輸入的唯一參數(shù)就是要與內(nèi)存DC兼容的目的DC跟窗口DC一樣,內(nèi)存DC使用后也必須進(jìn)行釋放的操作,釋放內(nèi)存DC所調(diào)用的函數(shù)為DeleteDC()

DeleteDC(HDC DC名稱(chēng)); //釋放DC

步驟三:選用位圖對(duì)象

    位圖對(duì)象是GDI6種對(duì)象之一,內(nèi)存DC選用位圖對(duì)象的方法和前面介紹的選用畫(huà)筆或畫(huà)刷的方式相同,都是通過(guò)調(diào)用SelectObject()函數(shù)來(lái)實(shí)現(xiàn)。

步驟四:貼圖

    把內(nèi)存DC中的位圖復(fù)制到顯示的DC上,這個(gè)操作被稱(chēng)為“貼圖”。函數(shù)是BitBlt()

BOOL BitBlt (   HDC 目的DC,
                          
int 目的DC X坐標(biāo),
                          
int 目的DC Y坐標(biāo),
                          
int 貼到目的DC的寬度,
                          
int 貼到目的DC的高度,
                           HDC 來(lái)源DC,
                          
int 來(lái)源DC X坐標(biāo),
                          
int 來(lái)源DC Y坐標(biāo),
                           DWORD 貼圖方式)

    BitBlt()函數(shù)最后一個(gè)參數(shù)所輸入的是稱(chēng)為“Raster”的運(yùn)算值,這個(gè)值是用來(lái)設(shè)定內(nèi)存DC到目的DC的貼圖方式。范例中輸入的Raster值是SRCCOPY,表示貼圖后的位圖與原來(lái)的位圖完全一樣,下表列出了可使用的Raster值及說(shuō)明。

Raster

說(shuō)明

BLACKNESS

將來(lái)源位圖轉(zhuǎn)換為黑色

DSTINVERT

將目的地DC做“NOT”運(yùn)算

MERGECOPY

將選擇的筆刷與來(lái)源位圖做“AND”運(yùn)算

MERGEPAINT

先將來(lái)源位圖做“NOT”運(yùn)算,再與目的地DC做“OR”運(yùn)算

NOTSRCCOPY

將來(lái)源位圖做“NOT”運(yùn)算

NOTSRCERASE

先將來(lái)源位圖與目的地DC做“OR”運(yùn)算,再將其做“NOT”運(yùn)算

PATCOPY

將選擇的筆刷貼到目的地DC

PATINVERT

將目的地DC與選擇的筆刷做“XOR”運(yùn)算

PATPAINT

先將來(lái)源位圖做“NOT”運(yùn)算,再與筆刷做“OR”運(yùn)算,最后再與目的地DC做“OR”運(yùn)算

SRCAND

將來(lái)源位圖與目的地DC做“AND”運(yùn)算

SRCCOPY

將來(lái)源位圖貼到目的地DC

SRCERASE

先將目的地DC做“NOT”運(yùn)算,再與來(lái)源位圖做“AND”運(yùn)算

SRCINVERT

將來(lái)源位圖與目的地DC做“XOR”運(yùn)算

SRCPAINT

將來(lái)源位圖與目的地DC做“OR”運(yùn)算

WHITENESS

將來(lái)源位圖轉(zhuǎn)換為白色

范例ch2_5:從文件中加載位圖,并顯示在窗口上。
下載地址:ch2_5(上傳到windows live空間,可能需要MSN賬號(hào)登陸)
說(shuō)明:程序源代碼中有相關(guān)的注釋。
程序運(yùn)行結(jié)果如下圖:



PS:如想獲得更多關(guān)于Visual C++游戲開(kāi)發(fā)的內(nèi)容,可點(diǎn)擊隨筆:《Visual C++游戲編程基礎(chǔ)》學(xué)習(xí)筆記——索引隨筆

posted on 2010-04-08 15:28 煙皚 閱讀(1345) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 《Visual C++游戲編程基礎(chǔ)》學(xué)習(xí)筆記
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲在线电影| 国产精品久久久久久久久久ktv| 一区二区三区色| 午夜精品久久久久久99热| 亚洲精品无人区| 久久久精彩视频| 午夜日韩av| 欧美成人午夜影院| 美日韩精品视频| 国产一区二三区| 亚洲欧美色一区| 亚洲欧美一区二区精品久久久| 牛牛精品成人免费视频| 麻豆成人在线| 一区二区三区在线视频播放 | 香蕉视频成人在线观看| 欧美激情精品久久久久久黑人| 老牛影视一区二区三区| 国内精品视频666| 亚洲尤物视频在线| 性欧美xxxx大乳国产app| 欧美日韩一级大片网址| 亚洲精品在线视频观看| 日韩午夜免费视频| 欧美激情性爽国产精品17p| 欧美成人一品| 一区在线视频| 久久麻豆一区二区| 欧美成人在线网站| 最新国产乱人伦偷精品免费网站 | 午夜免费日韩视频| 欧美午夜激情小视频| 9i看片成人免费高清| 亚洲免费网址| 国产精品日韩精品欧美精品| 亚洲在线观看| 久久精品亚洲精品国产欧美kt∨| 国产一区二区三区网站| 久久久久久免费| 欧美福利在线观看| 夜夜嗨av一区二区三区中文字幕 | 国内精品久久久久影院优| 久久国产日韩欧美| 蜜臀av性久久久久蜜臀aⅴ四虎| 影音先锋亚洲电影| 蜜臀av一级做a爰片久久| 亚洲黄色在线看| 在线视频欧美日韩精品| 国产精品麻豆成人av电影艾秋| 亚洲免费视频成人| 免费不卡在线观看av| av成人毛片| 国产伦精品一区二区三区| 久久精品视频一| 亚洲经典自拍| 亚洲欧美资源在线| 亚洲第一搞黄网站| 欧美日韩无遮挡| 久久狠狠婷婷| 日韩亚洲欧美一区| 久久精品在线| 一本色道久久精品| 国产在线精品自拍| 欧美激情一区二区三级高清视频| 亚洲一区二区三区在线视频| 美日韩精品视频免费看| 亚洲免费一区二区| 1000部精品久久久久久久久| 国产精品黄视频| 久久免费黄色| 亚洲一区二区三区在线看| 欧美激情一区二区三区成人| 亚洲欧美在线x视频| 亚洲国产一区在线观看| 国产人妖伪娘一区91| 欧美日韩一级黄| 久久嫩草精品久久久精品一| 亚洲一区三区视频在线观看| 91久久久久| 噜噜噜在线观看免费视频日韩| 亚洲欧美日本国产有色| 亚洲国产精品美女| 国产一区二区三区久久久| 欧美日韩在线一二三| 欧美电影打屁股sp| 久久国产一区二区三区| 亚洲永久在线观看| 日韩视频―中文字幕| 亚洲国产99精品国自产| 久久综合久久综合久久综合| 午夜影院日韩| 亚洲欧美电影在线观看| 亚洲少妇一区| 亚洲精品自在在线观看| 亚洲欧洲精品一区二区三区| 伊人男人综合视频网| 国产一区二区三区网站| 国产欧美日韩一区| 欧美午夜无遮挡| 欧美视频精品在线观看| 欧美色精品天天在线观看视频| 欧美激情女人20p| 欧美1区免费| 牛牛影视久久网| 美女在线一区二区| 久久偷窥视频| 美女黄色成人网| 牛牛国产精品| 欧美粗暴jizz性欧美20| 欧美激情视频一区二区三区不卡| 美女任你摸久久| 欧美成人激情在线| 欧美伦理在线观看| 欧美日韩在线视频首页| 国产精品久久久久久久午夜| 欧美视频中文字幕| 国产精品vip| 国产精品自拍小视频| 国产一区二区三区免费不卡 | 国产精品极品美女粉嫩高清在线| 欧美日韩国产电影| 欧美三级不卡| 国产日本欧美在线观看| 国外精品视频| 亚洲日本中文字幕| 在线中文字幕一区| 午夜精品久久久久久久| 久久精品国产精品| 美女图片一区二区| 亚洲日本中文字幕| 一本在线高清不卡dvd | 欧美视频一区二区三区在线观看 | 国产欧美亚洲精品| 国产视频一区二区在线观看| 1000部精品久久久久久久久| 亚洲欧洲在线视频| 亚洲欧美高清| 蜜臀久久99精品久久久久久9| 亚洲国产成人久久综合| 亚洲手机在线| 久久精品国产亚洲5555| 欧美久久99| 国产一区自拍视频| 日韩午夜在线观看视频| 欧美一区二区三区在线免费观看| 免费看精品久久片| 亚洲日本成人| 午夜一区二区三视频在线观看| 另类春色校园亚洲| 欧美日韩一区在线视频| 今天的高清视频免费播放成人 | 久久大逼视频| 欧美日韩国内| 在线视频成人| 先锋亚洲精品| 亚洲人成网站777色婷婷| 亚洲欧美日韩中文视频| 欧美激情四色| 尤物九九久久国产精品的特点| 亚洲欧美精品| 亚洲福利一区| 欧美在线3区| 国产精品久久久久久久久久三级 | 在线精品国产欧美| 亚洲一区在线视频| 亚洲高清一区二区三区| 久久精品一区二区国产| 国产精品yjizz| 亚洲美女av电影| 蜜桃av一区| 久久大香伊蕉在人线观看热2| 欧美性大战久久久久| 99re热这里只有精品视频| 裸体丰满少妇做受久久99精品| 亚洲免费网站| 欧美午夜精品一区| av成人老司机| 最新成人av网站| 麻豆freexxxx性91精品| 激情文学一区| 久久精品在线| 性欧美长视频| 国产精品一区亚洲| 亚洲欧美视频一区| 亚洲美女视频| 欧美乱大交xxxxx| 亚洲另类一区二区| 亚洲国产精品电影在线观看| 美女图片一区二区| 一区二区在线看| 久久在线视频| 久久伊人亚洲| 亚洲电影第1页| 欧美大片在线观看一区二区| 久久资源在线| 亚洲国产高清自拍| 欧美国产综合| 欧美国产日韩精品| 夜夜嗨一区二区| 一区二区三区四区国产|