一、利用Picture控件静态加载显示Bitmap图片

  1. 在界面上创建Picture控件
  2. 将Picture控件的Type属性设为Bitmap
  3. 导入或新建Bitmap类型资源,ID为IDB_BITMAP1等等
  4. 为控件添加变量CStatic m_pic;

加载图片代码:

HBITMAP hBitmap = ::LoadBitmap(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP1));
m_pic.SetBitmap(hBitmap);
  • 1
  • 2
  • 3

分析:

优点:代码非常简洁 
缺点: 
1、加载的Bitmap不可调整大小,取实际大小值,Picture控件会自动调整为Bitmap的实际大小值。 
2、加载的Bitmap资源只能在模块内部

二、利用Picture控件动态加载显示Bitmap图片

HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),TEXT("D:\\test.bmp"), IMAGE_BITMAP, 50, 50, LR_DEFAULTCOLOR | LR_LOADFROMFILE | LR_CREATEDIBSECTION);
m_pic.SetBitmap(hBitmap);
  • 1
  • 2
  • 3
  • 4

分析:

  1. 加载的图片在模块外
  2. 可以指定图片大小,如上图中的50,50,若实际大小和此不相符,会自动缩放图片
  3. LR_DEFAULTCOLOR — 指定按照原图的颜色加载图片,不可少 
    LR_LOADFROMFILE — 加载外部的Bitmap,一定要指定 
    LR_CREATEDIBSECTION — 一般会指定
  4. 如若按照图片本身的大小加载,则设置cx,cy为0,0,并且在最后的标志位加上|LR_DEFAULTSIZE

注意:从网上下载的Bitmap图片可能用上面的方法加载失败,返回的HBITMAP为NULL,GetLastError()返回0,这个一般是图片格式的问题,可以用Windows的画图程序打开Bitmap再另存为24位位图的bmp格式就可以了。

MFC开发IM-第二篇、MFC picture 控件的用法相关推荐

  1. vs中c语言图形显示出来,VS2010+Opencv+MFC读取图像和视频显示在Picture控件

    VS2010+Opencv+MFC读取图像和视频显示在Picture控件,供大家参考,具体内容如下 1.新建MFC对话框应用程序. 其余选项默认,单击完成,创建出对话框应用程序.删掉原来自带的一些控件 ...

  2. MFC对话框显示图片(使用Picture控件)

    //************************************************************************************************** ...

  3. vc picture控件载入背景图,随控件大小改变

    在mfc里,想要在Picture控件中载入一张图片有两种方法:静态的和动态的.静态的方法就是图片先载入资源(.rc)文件中,拥有一个唯一的ID:动态的方法就是制定图片的路径名即可. 当然这样的方法网上 ...

  4. MFC开发IM-第六篇、MFC 文本框 用法

    MFC里面的EDIT Control控件的用法是怎么样的,1.怎么样才能赋值给EDIT Control控件并在EDIT Control控件显示出来;2.怎么取得EDIT Control控件的值并传递给 ...

  5. mfc调取摄像头显示并截图_用OpenCV在MFC Dialog中Picture控件上显示摄像头采集实时视频...

    OpenCV之所以能在MFC Dialog的Picture控件上绘图,全靠了CvvImage::DrawToHDC()方法.这就是下文为出现CvvImage和HDC的原因.下面是具体过程,用OpenC ...

  6. MFC中picture控件如何响应鼠标移动?

    MFC中picture控件如何响应鼠标移动? 2011-08-21 21:23 轻若惊鸿 | 浏览 3354 次 硬件网络 我将一个picture控件的属性中的Notify勾上了,但是只能响应鼠标按键 ...

  7. MFC/VC++中怎样将一个位图添加到数据库中并且将其读出来到指定的Picture控件上

    看这篇文章之前建议先看一下下面这篇文章: VC下显示位图的几种方法   http://blog.chinaunix.net/uid-607545-id-2088102.html或  http://bl ...

  8. 我的YUV播放器MFC小笔记:设置picture控件背景为黑色、窗口缩放

    图像的显示主要使用picture控件,一般播放器,在初始化时,播放画面的区域背景都是黑色的,在YUV播放器,也如此.但在网上找了很久的资料才实现该功能,其实说白了,代码很简单,在OnPaint函数中将 ...

  9. MFC 配置OpenCV在Picture控件上绘图

    首先下载C++的OpenCV,这里给个百度网盘链接: 链接:https://pan.baidu.com/s/1Hltk8-eVo0lY9rj3IgIAPw 提取码:m52c 解压,放在合适位置即可. ...

最新文章

  1. it行业php,什么是IT行业
  2. 深度学习模型参数量/计算量和推理速度计算
  3. loadrunner使用流程_LoadRunner关联函数
  4. 前端实习生笔试_一道来自美图的实习生前端笔试算法题
  5. 浅析:精密空调能耗超高的原因!
  6. hive 0.11 mysql_Hive的升级(0.8.0到0.11.0)
  7. gradient boosted regression tree
  8. php 内容转换dom,php – 防止DOMDocument :: loadHTML()转换实体
  9. 蓝桥杯java a组_蓝桥杯十一届JavaA组-C++解题
  10. asp.net core 自定义基于 HttpContext 的 Serilog Enricher
  11. linux dd 重装系统,发现用dd装系统真是简单快捷通用
  12. 使用Python进行汽车黑客攻击:泄露GPS和OBDIICAN总线数据
  13. Linux 能否拿下苹果 M1 阵地?
  14. composer 的快速安装
  15. office 在线编辑 java_JAVA调用PageOffice在线打开、编辑Word文档
  16. oracle分析函数技术详解(配上开窗函数over())
  17. 圆周率π的近似计算(三)-MapReduce分布式计算入门
  18. qq群发 java_qq聊天机器人 群发工具 (java版) (三)
  19. Linux命令:md5sum
  20. Cesium orientation 和 设置初始角度

热门文章

  1. nginx配置中root与alias的区别
  2. 日期多选插件Kalendae.js
  3. Mysql数据表的操作
  4. PAT (Basic Level) Practise:1013. 数素数
  5. 10年程序员谈.Net程序员的职业规划
  6. Dnn's Event Logging API
  7. 安装指定版本的Ionic或Cordova
  8. Maven服务器的使用之Maven桌面项目和Maven Web项目的创建
  9. 【UML】构件图Component diagram(实现图)(转)
  10. Json 和 Jsonlib 的使用