我有一个黑白 bmp 文件。它是 8 BPP 图片,大小为 2048 * 2048。我创建了一个新的 WTL 项目,转到“资源”-> 导入位图-> 选择我的 bmp 文件-> 给它MYBITMAPID
id
这是代码:
HBITMAP bm = ::LoadBitmap( _Module.GetModuleInstance(), MAKEINTRESOURCE(MYBITMAPID));
ATLASSERT(bm); // <--- Ok
SIZE sz;
BOOL res = ::GetBitmapDimensionEx(bm, &sz);
ATLASSERT(res); // <--- Ok
ATLASSERT(sz.cx && sz.cy); // <--- Not Ok
调试器说两个大小都是 0。
我试过了
HBITMAP bm = (HBITMAP)::LoadImage( _Module.GetModuleInstance(), MAKEINTRESOURCE(MYBITMAPID), IMAGE_BITMAP, 0, 0, LR_SHARED | LR_MONOCHROME);
并得到相同的结果。
我可以使用 CBitmap 类获取大小,但我只想将 winapi 用于此操作。
如何从资源中加载位图?