我有一個黑白bmp文件。它的8 BPP的圖片,大小爲2048 * 2048。我創建了一個新的WTL項目,進入「資源」 - >導入位圖 - >選擇我的bmp文件 - >給它MYBITMAPID
ID使用winapi無法獲取資源位圖大小
下面是代碼:
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。
如何從資源加載位圖?
使用[`GetObject()`](http://msdn.microsoft.com/en-us/library/aa932477.aspx)和`BITMAP`結構會帶來好運嗎? – 2011-12-15 07:18:40
@AndréCaron:謝謝你,它似乎有效! – fogbit 2011-12-15 07:42:13