首页 > 代码库 > wince 位图的使用

wince 位图的使用

操作位图的基本步骤:

*创建位图句柄

*加载位图对象

*创建内存设备描述对象,将位图选入内存设备描述对象

*使用绘图函数进行图形绘制

*删除位图句柄

创建位图句柄并且加载位图对象:

*位图句柄

  HBITMAP hBmp

*BOOL LoadBitmap(

  HINSTANCE hlnstance,

  LPCTSTR lpBitmapName);

*位图资源有两种:

 系统内置资源

   应用程序位图资源

  HBITMAP CreateBitmap(

    int nWidth,  //指定位图宽度

    int nHeight,     //指定位图高度

    UINT cPlanes,   //该设备使用的颜色位数目,在CE环境中为1

    UINT cBitsPeral, //指定每个像素所用的位数,一般都是2的n次方

    CONST VOID *lpBits)  //指向颜色数据数组指针

举例如下图:

技术分享

hBmp = CreatBitmap(20,5,1,4,bits);

HBITMAP SHLoadDlBitmap(LPCTSTR szFileName);

位图的显示步骤:

*创建内存设备环境

*将位图句柄选入设备内存环境

*调用传送函数在设备上显示位图

内存设备环境:

*内存设备环境的作用:

    提高存取速度,并且使位图的设置和设备环境的设置进行匹配,Windows CE 首先将位         图装入到内存设备环境中,然后从内存中赋值到设备环境。

*HDC CreateCompatibleDC(HDC hdc);

*位图选入设备对象使用:SelectObject()函数

传送数据块的函数:

  BOOL BitBlt(

    HDC hdcDest,    //目标设备环境的句柄

    int nXDest,int nYDest,    //目标矩形区域左上角的 逻辑坐标

    int nWidth,int nHeight,    //目标矩形区域的宽度和高度

    HDC hdcSrc,    //源绘图环境的句柄

    int nXSrc,int nYSrc,    //源绘图左上角的逻辑坐标

    DWORD dwRop);    //设定执行的光栅操作代码

*SRCCOPY 将源位图拷贝到目标位图

  BOOL StretchBit(

    HDC hdcDest,

    int nXOriginDest,int nYOriginDest,

    int nWidthDest,int nHeightDest,

    HDC hdcSrc,

    int nXOriginSrc,int nYOriginSrc,

    int nWidthSrc,int nHeightSrc,

    UINT crTransparent);

 

wince 位图的使用