zoukankan      html  css  js  c++  java
  • 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);

     

  • 相关阅读:
    AddTransient、AddSingleton、AddScoped的区别
    ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)
    DotNetCore 结合 Nginx 将网站部署到阿里云
    centos7安装配置mysql8
    centos7安装nginx
    ASP.NET Core搭建多层网站架构【0-前言】
    .Net Core3.0 WebApi 二:API 文档神器 Swagger
    .Net Core3.0 WebApi 三:读取appsettings.json
    .Net Core3.0 WebApi 四:JWT权限验证
    vue动态配置参数,避免重复打包
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/4220226.html
Copyright © 2011-2022 走看看