如何从位图句柄HBITMAP 获得该图像的信息?
解决方案 »
- 如何将CreateFont()创建的字体保存到图片??
- C++ 变量类型
- MFC Dialog窗口程序的问题...
- 将CString转换成double类型,如何只保留小数点后3位?
- 挑战性问题,如何得到CS中当前所持枪的内存地址?
- 小程序外包,谁愿意做?(MS SQL 扩展存储过程)
- 关于关机程序的疑点问题
- 救命!!vc中怎么输出以左调试用?
- 请问:MFC使用兼容DC绘图时,如何分层绘图?
- 请问:为什么我的 CFile类和fopen都打不开带路径的文件
- 请问出现LINK : fatal error LNK1561: entry point must be defined怎么回事?
- 如何在MFC中使用DirectSound的事件通告?
bitmap.Attach(hBitmap)
然后就可以用CBitmap的函数了
BITMAP bm;
bitmap.GetBitmap(&bm);
return bm.bmWidth等等;
BITMAP bm;
GetObject(hbm, sizeof(bm), &bm);
HBITMAP hbm2 //假设 hbm2 为有效位图对象,
//并且是用 CreateDIBSection 函数创建
DIBSECTION dibs;
GetObject(hbm2, sizeof(dibs), &dibs);
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP;
typedef struct tagDIBSECTION {
BITMAP dsBm;
BITMAPINFOHEADER dsBmih;
DWORD dsBitfields[3];
HANDLE dshSection;
DWORD dsOffset;
} DIBSECTION, *PDIBSECTION;
请问你们的方法能在ATL里使用吗?
"HBITMAP hbm2 //假设 hbm2 为有效位图对象,
//并且是用 CreateDIBSection 函数创建
DIBSECTION dibs;
GetObject(hbm2, sizeof(dibs), &dibs);"hbm2一定要是用 CreateDIBSection 函数创建的吗?为什么?
这事实上牵涉到两种位图, 就是大家都知道的, 设备无关位图和设备相关位图. CreateDIBSection 生出来的是设备无关位图, 除了它, 其他生出来的全是设备相关的位图