最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中BitBlt的使用方法詳解

 更新時(shí)間:2017年09月20日 08:38:21   作者:z0203153008  
這篇文章主要介紹了C++中BitBlt的使用方法詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

BitBlt

該函數(shù)對(duì)指定的源設(shè)備環(huán)境區(qū)域中的像素進(jìn)行位塊(bit_block)轉(zhuǎn)換,以傳送到目標(biāo)設(shè)備環(huán)境。

原型:  

BOOL BitBlt(

  HDC hdcDest,

  int nXDest, int nYDest, int nWidth, int nHeight,

  HDC hdcSrc,

  int nXSrc, int nYSrc,

  DWORD dwRop);

參數(shù):   

hdcDest:指向目標(biāo)設(shè)備環(huán)境的句柄。

nXDest、nYDest:指定目標(biāo)矩形區(qū)域左上角的X軸和Y軸邏輯坐標(biāo)

nWidth、nHeight:指定源和目標(biāo)矩形區(qū)域的邏輯寬度和邏輯高度。

hdcSrc:指向源設(shè)備環(huán)境的句柄。

nXSrc、nYSrc:指定源矩形區(qū)域左上角的X軸和Y軸邏輯坐標(biāo)。

dwRop:指定光柵操作代碼。這些代碼將定義源矩形區(qū)域的顏色數(shù)據(jù),如何與目標(biāo)矩形區(qū)域的顏色數(shù)據(jù)組合以完成最后的顏色。下面列出了一些常見的光柵操作代碼:

描述

BLACKNESS

表示使用與物理調(diào)色板的索引0相關(guān)的色彩來填充目標(biāo)矩形區(qū)域,(對(duì)缺省的物理調(diào)色板而言,該顏色為黑色)。

DSTINVERT

表示使目標(biāo)矩形區(qū)域顏色取反。

MERGECOPY 

表示使用布爾型AND(與)操作符將源矩形區(qū)域的顏色與特定模式組合一起。

MERGEPAINT

通過使用布爾型OR(或)操作符將源矩形區(qū)域的顏色取反后與目標(biāo)矩形區(qū)域的顏色合并。

NOTSRCCOPY

將源矩形區(qū)域顏色取反,拷貝到目標(biāo)矩形區(qū)域。

NOTSRCERASE

使用布爾類型的OR(或)操作符組合源和目標(biāo)矩形區(qū)域的顏色值,然后將合成的顏色取反。

PATCOPY

將特定的模式拷貝到目標(biāo)位圖上。

PATINVERT

通過使用布爾型XOR(異或)操作符將源和目標(biāo)矩形區(qū)域內(nèi)的顏色合并。

PATPAINT

通過使用布爾型OR(或)操作符將源矩形區(qū)域取反后的顏色值與特定模式的顏色合并。然后使用OR(或)操作符將該操作的結(jié)果與目標(biāo)矩形區(qū)域內(nèi)的顏色合并。

SRCAND

通過使用布爾型AND(與)操作符來將源和目標(biāo)矩形區(qū)域內(nèi)的顏色合并。

SRCCOPY

將源矩形區(qū)域直接拷貝到目標(biāo)矩形區(qū)域。

SRCERASE

通過使用布爾型AND(與)操作符將目標(biāo)矩形區(qū)域顏色取反后與源矩形區(qū)域的顏色值合并。

SRCINVERT

通過使用布爾型XOR(異或)操作符將源和目標(biāo)矩形區(qū)域的顏色合并。

SRCPAINT

通過使用布爾型OR(或)操作符將源和目標(biāo)矩形區(qū)域的顏色合并。

WHITENESS

使用與物理調(diào)色板中索引1有關(guān)的顏色填充目標(biāo)矩形區(qū)域。(對(duì)于缺省物理調(diào)色板來說,這個(gè)顏色就是白色)。

  完整的光柵操作(ROP)碼,參見 Ternary Raster Operations.

返回值:

   如果函數(shù)成功,那么返回值非零;如果函數(shù)失敗,則返回值為零。調(diào)用GetLastError函數(shù)獲取擴(kuò)展錯(cuò)誤信息。

說明:

   如果在源設(shè)備環(huán)境中可以實(shí)行旋轉(zhuǎn)或剪切變換,那么函數(shù)BitBlt返回一個(gè)錯(cuò)誤。

   如果存在其他變換(并且目標(biāo)設(shè)備環(huán)境中匹配變換無(wú)效),那么目標(biāo)設(shè)備環(huán)境中的矩形區(qū)域?qū)⒃谛枰獣r(shí)進(jìn)行拉伸、壓縮或旋轉(zhuǎn)。

   如果源和目標(biāo)設(shè)備環(huán)境的顏色格式不匹配,那么BitBlt函數(shù)將源場(chǎng)景的顏色格式轉(zhuǎn)換成能與目標(biāo)格式匹配的格式。

   當(dāng)正在記錄一個(gè)增強(qiáng)型圖元文件時(shí),如果源設(shè)備環(huán)境標(biāo)識(shí)為一個(gè)增強(qiáng)型圖元文件設(shè)備環(huán)境,那么會(huì)出現(xiàn)錯(cuò)誤。

   并不是所有的設(shè)備都支持BitBlt函數(shù)。更多信息,調(diào)用GetDeviceCaps 函數(shù),將第二個(gè)參數(shù)賦值為RC_BITBLT來查看設(shè)備是否支持。(For more information, see the RC_BITBLT raster capability entry in the GetDeviceCaps function, as well as the MaskBlt and StretchBlt functions. )

   如果源和目標(biāo)設(shè)備環(huán)境代表不同的設(shè)備,那么BitBlt函數(shù)返回錯(cuò)誤。

   更多關(guān)于從右到左向位塊傳輸顯示信息(For information about blitting to displays with right-to-left orientations),參見 Creating Bitmaps。

   在Windows CE 1.0和1.01版中,參數(shù)dwRop只可以指定為下列值:SRCCOPY、SRCAND、SRCPAINT、SRCINVERT。在Windows CE 2.0及以后版中,參數(shù)dwRop可以是任何ROP3代碼值。

 下面是MSDN上的例子:

HBITMAP CopyBitmap( HBITMAP hbm) {
  HDC hdcSrc = CreateCompatibleDC(NULL);
  HDC hdcDst = CreateCompatibleDC(NULL);
  HBITMAP hbmOld, hbmOld2, hbmNew;
  BITMAP bm;
  GetObject(hbm, sizeof(bm), &bm);
  hbmOld = SelectObject(hdcSrc, hbm);
  hbmNew = CreateBitmap( bm.bmWidth, bm.bmHeight, bm.bmPlanes,
    bm.bmBitsPixel,
    NULL);
  hbmOld2 = SelectObject(hdcDst, hbmNew);
  BitBlt(hdcDst, 0, 0, bm.bmWidth, bm.bmHeight, hdcSrc, 0, 0, SRCCOPY);
  SelectObject(hdcSrc, hbmOld);
  SelectObject(hdcDst, hbmOld2);
  DeleteDC(hdcSrc);
  DeleteDC(hdcDst);
  return hbmNew;
} 

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • C語(yǔ)言從代碼中加載動(dòng)態(tài)鏈接庫(kù)過程解析

    C語(yǔ)言從代碼中加載動(dòng)態(tài)鏈接庫(kù)過程解析

    這篇文章主要介紹了C語(yǔ)言從代碼中加載動(dòng)態(tài)鏈接庫(kù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    全局靜態(tài)存儲(chǔ)區(qū)、堆區(qū)和棧區(qū)深入剖析

    在C++中,內(nèi)存可分為系統(tǒng)數(shù)據(jù)區(qū),自由存儲(chǔ)區(qū),文本區(qū),const數(shù)據(jù)區(qū),全局靜態(tài)區(qū),堆區(qū)和棧區(qū)
    2012-11-11
  • C語(yǔ)言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)

    C語(yǔ)言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)

    結(jié)構(gòu)體是一些值的集合,這些值稱為成員變量,結(jié)構(gòu)體的每個(gè)成員可以是不同類型的變量。本文將通過示例為大家詳細(xì)講講C語(yǔ)言中結(jié)構(gòu)體的使用,需要的可以參考一下
    2022-07-07
  • C++入門語(yǔ)法之函數(shù)重載詳解

    C++入門語(yǔ)法之函數(shù)重載詳解

    這篇文章主要為大家詳細(xì)介紹了C++入門語(yǔ)法之函數(shù)重載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語(yǔ)言例題之輸出1000以內(nèi)的所有完數(shù)

    C語(yǔ)言例題之輸出1000以內(nèi)的所有完數(shù)

    完數(shù)是一些特殊的自然數(shù),它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身,如果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完數(shù)”,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言例題之輸出1000以內(nèi)的所有完數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Inline Hook(ring3)的簡(jiǎn)單C++實(shí)現(xiàn)方法

    Inline Hook(ring3)的簡(jiǎn)單C++實(shí)現(xiàn)方法

    這篇文章主要介紹了Inline Hook(ring3)的簡(jiǎn)單C++實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • C++11新特性之右值引用與完美轉(zhuǎn)發(fā)詳解

    C++11新特性之右值引用與完美轉(zhuǎn)發(fā)詳解

    C++11標(biāo)準(zhǔn)為C++引入右值引用語(yǔ)法的同時(shí),還解決了一個(gè)短板,即使用簡(jiǎn)單的方式即可在函數(shù)模板中實(shí)現(xiàn)參數(shù)的完美轉(zhuǎn)發(fā)。本文就來講講二者的應(yīng)用,需要的可以參考一下
    2022-09-09
  • C++的函數(shù)與指針

    C++的函數(shù)與指針

    今天小編就為大家分享一篇關(guān)于C++函數(shù)與指針的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2021-10-10
  • Effective?C++?學(xué)習(xí)筆記

    Effective?C++?學(xué)習(xí)筆記

    這篇文章主要介紹了Effective?C++?學(xué)習(xí)筆記,想學(xué)習(xí)Effective?C++的朋友可以參考一下
    2023-08-08
  • C++使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天

    C++使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天

    這篇文章主要為大家詳細(xì)介紹了C++如何使用MIDI庫(kù)實(shí)現(xiàn)演奏晴天歌曲,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下
    2025-02-02

最新評(píng)論

罗定市| 探索| 柏乡县| 博湖县| 确山县| 莒南县| 延川县| 华容县| 香格里拉县| 库尔勒市| 南丰县| 肥东县| 通海县| 塔城市| 徐闻县| 宁阳县| 新田县| 吕梁市| 丰宁| 高青县| 康平县| 德格县| 专栏| 奉贤区| 门源| 柞水县| 乐陵市| 申扎县| 平江县| 白银市| 华坪县| 保康县| 仪征市| 江达县| 东港市| 宁波市| 滦南县| 顺义区| 秦皇岛市| 广安市| 延长县|