BitBlt用法_BIT函数

BitBlt用法_BIT函数BitBlt用法在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。今天要将一些位图显示到窗口中,所以学习了一下。我已经将要用的位图导入到工程资源中,

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

Jetbrains全系列IDE稳定放心使用
 

BitBlt用法

在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。
今天要将一些位图显示到窗口中,所以学习了一下。
我已经将要用的位图导入到工程资源中,所以我可以用:
        CBitmap cbmp;
        cbmp.LoadBitmap(IDB_BMP1);
这样得到一个CBitmap对象。
然后:
        BITMAP bitmap;
        cbmp.GetBitmap(&bitmap);
这样得到一个BITMAP对象,之所以要得到此对象是因为从其中可以得到位图的大小数据。
然后计算得到要在什么位置显示此位图(可以放在一个CRect rect;对象中)。

然后显示此位图,这是最重要的一步:
         CDC dcMemory;
         dcMemory.CreateCompatibleDC(pDC);
         hOldBitmap = dcMemory.SelectObject(&cbmp);
          pDC->BitBlt(rect.left,
                             rect.top,
                             bitmap.bmWidth,
                             bitmap.bmHeight,
                             &dcMemory,
                             0,0,
                             SRCCOPY);
其中pDC是一个CDC*,是将要在其中显示位图的设备环境。

这样位图就已经显示出来了,但是还要释放资源:
        cbmp.DeleteObject();
        dcMemory.SelectObject(hOldBitmap);
        dcMemory.DeleteDC();
其中,要将临时设备环境选择入初始时位图,否则将不能正确释放!!

总结:
要在一个设备环境中显示位图,不能直接在上面“画”(目前我是我么觉得的),需要创建一个与之相兼容的新设备环境然后将位图选择入些新设备环境,然后再从些新设备环境中拷备位图以显示到正确的设备环境中。而选入这个动作相当与已经将位图“画在了临时设备环境中”(实际上并没有画,否则就可以直接选入要画图的CDC了),而且选入后位图在临时设备环境中的位置是左上角!

来自http://blog.csdn.net/sgdgoodboy/article/details/2110929

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

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

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


相关推荐

  • 数字化转型中的大数据治理架构

    数字化转型中的大数据治理架构一、数字化时代大数据向服务化发展数字化时代,我们的数据来源比以前更广了。第一,之前传统企业政府的IT系统主要是面向内部使用,产生了一些信息,现在已经面向外部使用了;第二,更多行为信息、社交信息都会变成企业的数据;第三,我们有很多非结构化的数据,比如媒体、视频数据等;第四,还有物联网传感器方面的数据等。这些数据大部分是非结构化的,如媒体数据、视频数据,包括物联网传感器等信息,这些信息远比以前更加难以…

    2022年10月23日
  • Pycharm 提示:this license * has been cancelled – Python零基础入门教程

    Pycharm 提示:this license * has been cancelled – Python零基础入门教程目录一.前言一.找到hosts文件二.修改hosts文件三.检查hosts文件是否修改成功四.pycharm安装激活详细教程五.猜你喜欢一.前言零基础Python学习路线推荐:Python学习目录>>Python基础入门Pycharm安装激活过程中,提示thislicense****hasbeencancelled。这个问题并不是你的激活码不对,而是需要修改系统的hosts文件,下面详细讲解下如何修改hosts文件

    2022年8月26日
  • 扒一扒使用boostrap-fileinput上传插件遇到的坑,Bootstrap-fileinput上传插件的使用详解,「建议收藏」

    扒一扒使用boostrap-fileinput上传插件遇到的坑,Bootstrap-fileinput上传插件的使用详解,「建议收藏」由于公司项目的需求,需要实现动植物名录的添加,包括姓名等信息和图片等,需要使用bootstrap-fileinput的上传插件,在提交添加界面表单数据的同时上传一张或者多张图片,并将上传的图片保存到本地磁盘中(本文是f:盘的目录下),在在实现的时候,不适用bootstrap-fileinput上传插件本身的上传按钮(因为本身的按钮只能上传图片),需要点击提交,将表单的其他信息和图片一起提交到后台。

    2022年6月7日
  • rap韵脚大全(包含各种诗词歌曲的韵脚等)

    rap韵脚大全(包含各种诗词歌曲的韵脚等)rap韵脚(a篇)Ba:八,疤,叭,芭,把,吧,爸,罢,巴,扒,坝,霸,靶,笆,捌,拔,跋,钯,耙Ca:擦,嚓Cha:查,插,叉,茶,差,杈,岔,衩,刹,诧,姹Da:大,答,达,打,搭,嗒,哒,耷,褡,瘩,鞑,靼Fa:发,法,罚,伐,乏,阀,筏,疺Ga:尬,伽,嘎,旮Ha:哈Ka:卡,咖,喀La:拉,啦,辣,蜡,腊,喇,垃Ma:吗,妈,马,嘛,麻,骂,码,玛Na:那,拿,…

    2022年6月18日
  • 模电–运算放大器工作原理

    模电–运算放大器工作原理模电领悟1(关于正负反馈是通过瞬时极性法判断净输入量的增减,与净输入量的正负号无关,与他的量有关,增了就是正反馈;所谓的同相反相输入端是指相位,反相与同相相位差为180°,所以如果同相和反相加的是同一个电压,…

    2022年6月3日
  • getElementById返回的是什么?串讲HTML DOM[通俗易懂]

    getElementById返回的是什么?串讲HTML DOM[通俗易懂]通过getElementById函数,了解HTMLDOM,被JS封装后的标签都有哪些属性,怎么调用等。

    2022年7月1日

发表回复

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

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