gpt4 book ai didi

c++ - 无法使用 winapi 获取资源位图大小

转载 作者:行者123 更新时间:2023-11-30 00:57:16 25 4
gpt4 key购买 nike

我有一个黑白 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 用于此操作。

如何从资源中加载位图?

最佳答案

WTL 为您提供帮助:

CBitmap Bitmap = AtlLoadBitmap(MYBITMAPID);
SIZE Extent;
BOOL bGetSizeResult = Bitmap.GetSize(Extent);

关于c++ - 无法使用 winapi 获取资源位图大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8516166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com