小白程序员,使用现有VS运行之前VC++6.0程序时发生报错,网上寻找解决方案后成功解决bug,写下博文为提醒自己同时帮助和我一样遇到问题的你。
造成m_hBitmap != 0的原因有很多,其中之一为:
Cimage 创建成全局对象时,读取一次后就不能再次读取,否则就会异常。
如果需要再次读取,则需要把之前图像销毁,如添加以下代码:
//销毁原有图像
CImage destImage;
if (!destImage.IsNull())
{
destImage.Destroy();
}
如果想了解更多造成m_hBitmap != 0的原因,推荐阅读其他大神的 参考博文
参考博文1 Cimage类异常(m_hBitmap != 0) https://blog.youkuaiyun.com/abaqus3_0/article/details/88080797
参考博文2 c++ MFC图像处理CImage类常用操作代码 https://www.cnblogs.com/DOMLX/p/9598974.html