位图有关的格式信息

 位图的内存格式由 信息头像素数据 组成。

                     

 GetObject(hBitmap, sizeof(BITMAP), (LPSTR)&bmp);  获取 HBITMAP 句柄包含的位图信息结构,不包含像素数据内容。

typedef struct tagBITMAP {
  LONG bmType; // 位图类型,必须为 0
  LONG bmWidth; // 位图宽度(以像素为单位)
  LONG bmHeight; // 位图高度(以像素为单位)
  LONG bmWidthBytes; // 每行字节数
  WORD bmPlanes; // 颜色平面数
  WORD bmBitsPixel; // 每个像素占用的位数
  LPVOID bmBits; // 指向像素数据的指针
  } BITMAP;

 

======================================= BMP 文件的构成 =====================================================

                           

》》第一部分: 文件头  《《

                                                                                            位图文件头

 

                          

   typedef struct tagBITMAPFILEHEADER {
    UINT bfType;
    DWORD bfSize;
    UINT bfReserved1;
    UINT bfReserved2;  
    DWORD bfOffBits;
  }BITMAPFILEHEADER;

 

》》第二部分:位图信息头《《

                          

 typedef struct tagBITMAPINFOHEADER {

  DWORD biSize;          // 结构体的大小(以字节为单位)
  LONG  biWidth;         // 位图的宽度(以像素为单位)
  LONG  biHeight;        // 位图的高度(以像素为单位)
  WORD  biPlanes;        // 颜色平面数(必须为 1)
  WORD  biBitCount;      // 每个像素占用的位数
  DWORD biCompression;   // 压缩类型
  DWORD biSizeImage;     // 图像数据的大小(以字节为单位)
  LONG  biXPelsPerMeter; // 水平分辨率(每米的像素数)
  LONG  biYPelsPerMeter; // 垂直分辨率(每米的像素数)
  DWORD biClrUsed;       // 使用的颜色数
  DWORD biClrImportant;  // 重要的颜色数
} BITMAPINFOHEADER;

 》》第三部分:像素数据  Bits《《

 

                                           阵 列 数 据

 

posted @ 2025-01-15 22:34  O-Y  阅读(53)  评论(0)    收藏  举报