
获取位图信息
BITMAP bm;
HBITMAP hBmp = NULL;
CString str = _T("D:\\1.bmp");
hBmp = (HBITMAP)::LoadImage(NULL, str, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
int n=::GetObject(hBmp, sizeof(BITMAP), (PSTR)&bm);//获取对象信息
/*
参数1:HGDIOBJ hgdiobj 图形对象的句柄
参数2:int cbBuffer 将写入到缓冲区中的图形对象信息的字节数
参数3:LPVOID lpvObject 指向接收图形对象信息的缓冲区的指针
返回值:当函数执行成功且参数lpvObject为NULL时,返回值是保存获取的信息的缓冲区需要的字节数
当函数执行成功且参数lpvObject是有效地指针时,返回值是存储到缓冲区中的数据的字节数
当函数执行失败时,返回值是0
*/
int nWidth = bm.bmWidth;//位图宽度
int nHeight = bm.bmHeight;//位图高度
str.Format(_T("nWidth=%d\r\n"), nWidth);
::OutputDebugString(str);
str.Format(_T("nHeight=%d\r\n"), nHeight);
::OutputDebugString(str);

位图结构说明:看https://learn.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2012/k1sf4cx2(v=vs.110)
