MFC绘图7--显示位图

小白龙大神

小白龙大神

2016-02-19 17:42

今天图老师小编要跟大家分享MFC绘图7--显示位图,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

  1、将位图加载到内存DC中

  2、将内存DC中的内容绘制到要显示位图的DC中

  *MFC中没有直接用来加载位图的函数,可以使用WindowsAPI中的

  LoadImage函数来加载位图,其原型如下:

  

HANDLE LoadImage(
HINSTANCE hinst, //位图实体句柄,若位图在硬盘或者资源文件
//中,则将该参数设为NULL
LPCTSTR lpszName, //位图所在路径及文件名,或者资源名称
UINT uType, //加载位图的类型:
//1、IMAGE_BITMAP
//2、IMAGE_CURSOR
//3、IMAGE_ICON
int cxDesired, //位图宽度,像素
int cyDesired, //位图高度,像素
UINT fuLoad //加载方式比如LR_LOADFROMFILE等
);

  步骤:

  CClientDC dc(this);

  CDC *mdc=new CDC;

  //CDC只有空构造函数,也就是说无法通过拷贝函数来构造一个

  //与dc相同的mdc,即mdc=dc非法。

  //CreateCompatibleDC建立一个适合指定pDC的内存设备上下文

  mdc-CreateCompatibleDC(&dc);

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  CBitmap bitmap;

  //CBitmap继承自CGdiObject

  //其成员变量m_hObject是一个句柄

  //A HANDLE containing the HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN, or HFONT

  //attached to this object.

  //可以简单记为bitmap拥有HBITMAP类型句柄m_hObject,而该句柄需要使用

  //Windows API的LoadImage获得

  bitmap.m_hObject=(HBITMAP)::LoadImage(NULL,"b1.bmp",IMAGE_BITMAP,500,400,LR_LOADFROMFILE);

  mdc-SelectObject(bitmap);

  CRect rect;

  //取得客户区域大小

  GetClientRect(&rect);

  //BitBlt()将位图贴到要显示的DC

  dc.BitBlt(0,0,rect.right,rect.bottom,mdc,0,0,SRCCOPY);

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  //最后要记得在析构函数中释放mdc

  delete mdc

展开更多 50%)
分享

猜你喜欢

MFC绘图7--显示位图

编程语言 网络编程
MFC绘图7--显示位图

VC中利用MFC设计绘图程序初步

编程语言 网络编程
VC中利用MFC设计绘图程序初步

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在C++ Builder中显示透明位图

编程语言 网络编程
在C++ Builder中显示透明位图

在MFC程序中添加全屏显示功能

C语言教程 C语言函数
在MFC程序中添加全屏显示功能

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在对话框中动态显示位图

编程语言 网络编程
在对话框中动态显示位图

显示作为窗口或对话框背景的位图

编程语言 网络编程
显示作为窗口或对话框背景的位图

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

爱很甜没有毒 却让人流泪痛哭 - QQ伤感分组

爱很甜没有毒 却让人流泪痛哭 - QQ伤感分组

实例讲解

实例讲解
下拉加载更多内容 ↓