【问题标题】:GetBitmap() not working in release modeGetBitmap() 在发布模式下不起作用
【发布时间】:2014-04-01 07:42:08
【问题描述】:

我正在使用 MFC 应用程序。我必须获得 BITMAP 图像的高度和宽度。我正在使用的代码仅在调试模式下工作,但由于某些问题,我必须使用发布模式,而在发布模式下代码无法正常工作。帮帮我..!!!

    CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP1);
    BITMAP bm;
    bmp.GetBitmap(&bm);

【问题讨论】:

  • 显示更多代码,我在这里没有看到错误。同样在这段代码中你没有得到宽度和高度。您将不得不使用 CSize 类。
  • @Blacktempel,错误不存在,它在调试模式下工作但不在发布模式下。
  • 你在哪里使用这个代码?在哪个功能?我也有类似的代码。我的工作在发布和调试..
  • 我在 OnInitDialog() 中使用了该代码
  • 能否再显示一些代码?因为我这不可能是你所有的位图绘制。

标签: visual-c++ bitmap mfc


【解决方案1】:
CBitmap bmp;

不要使用局部变量来绘制位图。函数被调用后它就会消失。

使用成员变量。 例如:

m_Background.LoadBitmap (IDB_BITMAP1);
BITMAP bm;
m_Background.GetBitmap (&bm);
m_BitmapSize = CSize (bm.bmWidth, bm.bmHeight);
Invalidate(1);

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2022-08-08
    • 2012-09-28
    • 2021-04-28
    相关资源
    最近更新 更多