Windows编程(7)|SDK显示位图

一.相关函数

1. HBITMAP LoadBitmap(

                                      HINSTANCE hInstance,  // handle to application instance

                                      LPCTSTR lpBitmapName  // name of bitmap resource

                                      );

如果想加载系统位图,那么将第一个参数设为NULL,如果不是系统位图,

第一参数是实例的句柄,第二个参数可以用MAKEINTRESOURCE宏转换位图的ID,不然直接加位图的路径

 

2, HANDLE LoadImage(

                    HINSTANCE hinst,   // handle to instance

                    LPCTSTR lpszName,  // image to load

                    UINT uType,        // image type

                    int cxDesired,     // desired width

                    int cyDesired,     // desired height

                    UINT fuLoad        // load options

);

第一个参数:实例句柄,若加载OEM图像则可以0;

第二参数:如果加载外部位图,直接是位图路径,若加载OEM图像,可以使用MAKEINTRESOURCE宏,

第三个参数:位图的类型

 

第四和第五个参数是所加载的图像的宽度和高度,以像素为单位, 如果此参数为零并且参数fuLoad值为LR_DEFAULTSIZE,

那么函数使用SM_CXICON或SM_CXCURSOR系统公制值设定宽度;如果此参数为零并且值LR_DEFAULTSIZE没有被使用,

那么函数使用目前的资源宽度。

 

第五参数:可以使用"|"进行组合

 

 

 

 

 

3. int GetObject(

             HGDIOBJ hgdiobj,  // handle to graphics object

             int cbBuffer,     // size of buffer for object information

             LPVOID lpvObject  // buffer for object information

              );

  用这个函数获取位图的信息,如位图尺寸,

第一个参数:图像的句柄,可以是一个逻辑位图、一个刷子、一种字体、一个调色板、笔或通过调用CreateDIBsection函数创建的与设备无关位图的句柄

第二个参数:缓冲区的大小,

第三个参数:

 

:

 

4.显示位图

BOOL BitBlt  

(

      HDC hdcDest,                 // 目地设备环境

      int nXDest, int nYDest,         //目地设备显示位图的基点

      int nWidth, int nHeight,        // 显示区域的高宽

      HDC hdcSrc,                   // 源设备环境

      int nXSrc, int nYSrc,           // 源设备中位图的左上角坐标

      DWORD dwRop               // 位图的显示方式

)

 

 

 

最后一个参数显示方式

 

上文中的内容参考了MSDN,图片来自MSDN的截图

 

二. 实现

 

在"资源"上添加一张位图并手工简单绘画和添加菜单,在菜单中添加"打开资源位图"和"打开外部位图"

 

 

 

我的实现代码....

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值