位图详解

来源:互联网 发布:sugarnms网管软件 编辑:程序博客网 时间:2024/06/10 01:27

位图文件格式:

              文件头

                               文件标题(BITMAPFILEHEADER)

                               信息标题(BITMAPINFO)

                               调色板数据

              实际图像数据


文件标题:

          typedef struct tagBITMAPFILEHEADER

                {

                             UINT bfType;        //文件类型标识,应该是“BM”对应的数值

                             DWORD bfSize;  //整个文件的长度,以字节为单位

                             UINT bfReserved1; //备用字段1

                             UINT bfReserved2; //备用字段2

                             DWORD bfOffBits;   //文件头的长度,即位图文件开始到实际位图起点的偏移量

                  }BITMAPFILEHEADER


信息标题:

        信息标题主信息

        调色板信息(随色彩信息类型等的不同而项目数量不一样)

           typedef struct tagBitMAPINFO

                {

                            BITMAPFILEHEADER bmiHeader;      //含有文件的尺寸大小及色彩格式的信息

                            RGBQUAD bmiColors[1];                     //RBGQUAD数据结构的一个数组定义位图中的色彩

                }BITMAPINFO;


Cbitmap类对象初始化

1 加载资源

Bitmap.LoadBitmap

2 用内存空白位图初始化Cbitmap对象 

a. Cbitmap.CreateCompatibleBitmap(pDC,300,200);

b. Bitmap.CreateBitmap(300,200,24,1,p_Data);

3.通过HBITMAP句柄得到位图图对象指针

pBitmap=CBitmap::FromHandle(hBitmap)

0 0
原创粉丝点击