日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

VC++ 使用BitBlt函数显示位图

發(fā)布時(shí)間:2025/4/14 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC++ 使用BitBlt函数显示位图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

BitBlt 函數(shù)

該函數(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è)顏色就是白色)。
?

win7, vc6;新建單文檔工程;引入一個(gè)位圖資源;出現(xiàn)下圖錯(cuò)誤不管;

代碼;

void CWeituView::OnDraw(CDC* pDC) {CWeituDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCBitmap bitmap;bitmap.LoadBitmap(IDB_BITMAP1);BITMAP bt;CDC mendc;bitmap.GetBitmap(&bt);mendc.CreateCompatibleDC(NULL);mendc.SelectObject(&bitmap);pDC->BitBlt(0,0,bt.bmWidth,bt.bmHeight,&mendc,0,0,SRCCOPY); }

加載位圖效果如下;

?

總結(jié)

以上是生活随笔為你收集整理的VC++ 使用BitBlt函数显示位图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。