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

VC++ 使用BitBlt函数显示位图「建议收藏」BitBlt函数该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。原型:BOOLBitBlt(HDChdcDest,intnXDest,intnYDest,intnWidth,intnHeight,HDChdcSrc,intnXSrc,intnYSrc,DWORDdwRop);参数:hdcDest:指向目标设备环境的句柄。nXDe…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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函数显示位图「建议收藏」

代码;

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函数显示位图「建议收藏」

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue.js与jquery的区别_说出两者之间的区别

    vue.js与jquery的区别_说出两者之间的区别jQuery:曾经是前端最流行的js库。Vue:是一个兴起的js库,是一个精简的MVVM。从技术角度讲。Vue.js专注于MVVM模型的ViewModel层,它通过双向数据绑定把view和Model层连接起来,通过对数据的操作完成对页面视图的渲染。二者的区别是:一、Vue和jQuery对比jquery是使用选择器()选取DOM对象,对其进行赋值、取值、事件绑定等操作,和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。二、Vue则是通过Vue对.

    2022年10月16日
    2
  • MATLAB 数组拼接

    MATLAB 数组拼接例如a=,b=横向拼接:c=[a,b]c=纵向拼接:c=[a;b]c=

    2022年6月11日
    113
  • 传统图像降噪算法之BM3D原理详解

    传统图像降噪算法之BM3D原理详解       图像降噪是一个十分具有实用价值的研究方向,因为噪声总是无处不在的。当处于比较昏暗的环境时,噪声将极大地影响着我们所拍摄的图像。如今,随着深度学习算法以及相关硬件的不断发展,深度卷积网络同样在图像降噪领域占据了主流,并且代表了该领域最优异的成绩。但是,深度神经网络同样有着其缺点,例如模型过于庞大而计算复杂度过高,以及缺乏一些理论上的解释性,当然这些缺点正不断地得到弥补。为了更好地理解图像降噪的基本原理,我们有必要回过头来仔细研

    2022年6月7日
    45
  • 倒立摆及其应用//2021-2-23[通俗易懂]

    倒立摆及其应用//2021-2-23[通俗易懂]前言:以前搞电赛的时候搞过Pid平衡小车,倒立摆基本实现方法与平衡小车差不多,有一次刚院跑到实验室唠嗑,问你知不知道倒立摆的应用?我说不知道,他说航天火箭····,你们的这些常识太少了,落下这句话就走了,故为了解这些常识,有此小文。正文:一、倒立摆(invertedpendulum)1.概述倒立摆,InvertedPendulum,是典型的多变量、高阶次(有些还分几阶倒立摆【PID中涉及角度还有角速度这样来看多变量高阶层就不难理解了】),非线性、强耦合、自然不稳定系统。倒…

    2022年8月18日
    9
  • OpenSearch 简单学习

    OpenSearch 简单学习OpenSearch 简单学习项目中用到了阿里云的开放搜索 进行一下总结 OpenSearch 基于阿里巴巴自主研发的大规模分布式搜索引擎平台 该平台承载了阿里巴巴全部主要搜索业务 包括淘宝 天猫 一淘 1688 ICBU 神马搜索等业务 OpenSearch 以平台服务化的形式 将专业搜索技术简单化 低门槛化和低成本化 让搜索引擎技术不再成为客户的业务瓶颈 以低成本实现产品搜索功能并快速迭代

    2025年7月5日
    5
  • 哈夫曼树

    哈夫曼树一、哈夫曼树的概念和定义 什么是哈夫曼树?让我们先举一个例子。判定树:       在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来:  if(score<60) cout<<"Bad"<

    2022年6月11日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号