前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VC++ 使用BitBlt函数显示位图「建议收藏」

VC++ 使用BitBlt函数显示位图「建议收藏」

作者头像
全栈程序员站长
发布2022-11-02 17:00:29
7370
发布2022-11-02 17:00:29
举报

BitBlt 函数

该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。

原型: BOOL BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);

参数: hdcDest:指向目标设备环境的句柄。 nXDest、nYDest:指定目标矩形区域左上角的X轴和Y轴逻辑坐标 nWidth、nHeight:指定源和目标矩形区域的逻辑宽度和逻辑高度。 hdcSrc:指向源设备环境的句柄。 nXSrc、nYSrc:指定源矩形区域左上角的X轴和Y轴逻辑坐标。 dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。下面列出了一些常见的光栅操作代码: BLACKNESS 表示使用与物理调色板的索引0相关的色彩来填充目标矩形区域,(对缺省的物理调色板而言,该颜色为黑色)。

DSTINVERT 表示使目标矩形区域颜色取反。

MERGECOPY 表示使用布尔型AND(与)操作符将源矩形区域的颜色与特定模式组合一起。

MERGEPAINT 通过使用布尔型OR(或)操作符将源矩形区域的颜色取反后与目标矩形区域的颜色合并。

NOTSRCCOPY 将源矩形区域颜色取反,拷贝到目标矩形区域。

NOTSRCERASE 使用布尔类型的OR(或)操作符组合源和目标矩形区域的颜色值,然后将合成的颜色取反。

PATCOPY 将特定的模式拷贝到目标位图上。

PATINVERT 通过使用布尔型XOR(异或)操作符将源和目标矩形区域内的颜色合并。

PATPAINT 通过使用布尔型OR(或)操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。然后使用OR(或)操作符将该操作的结果与目标矩形区域内的颜色合并。

SRCAND 通过使用布尔型AND(与)操作符来将源和目标矩形区域内的颜色合并。

SRCCOPY 将源矩形区域直接拷贝到目标矩形区域。

SRCERASE 通过使用布尔型AND(与)操作符将目标矩形区域颜色取反后与源矩形区域的颜色值合并。

SRCINVERT 通过使用布尔型XOR(异或)操作符将源和目标矩形区域的颜色合并。

SRCPAINT 通过使用布尔型OR(或)操作符将源和目标矩形区域的颜色合并。

WHITENESS 使用与物理调色板中索引1有关的颜色填充目标矩形区域。(对于缺省物理调色板来说,这个颜色就是白色)。

win7, vc6;新建单文档工程;引入一个位图资源;出现下图错误不管;

VC++ 使用BitBlt函数显示位图「建议收藏」
VC++ 使用BitBlt函数显示位图「建议收藏」

代码;

代码语言:javascript
复制
void CWeituView::OnDraw(CDC* pDC)
{
	CWeituDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CBitmap 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);
}

加载位图效果如下;

VC++ 使用BitBlt函数显示位图「建议收藏」
VC++ 使用BitBlt函数显示位图「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180318.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档