MFC GDI+ 中的Bitmap问题

voidCImageSearchDlg::OnBnClickedBrowser(){//....CFileDialogfileDlg(TRUE,NULL,L"支持各种图片... void CImageSearchDlg::OnBnClickedBrowser()
{
//....
CFileDialog fileDlg(TRUE,NULL,L"支持各种图片",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR);
//...
if(IDOK==fileDlg.DoModal())
{
//....
filename = fileDlg.GetFileName();

m_pTargetPic =new Bitmap(filename);
m_bTargetLoaded = true;
}
}
//...
void CImageSearchDlg::OnPaint()
{
//...
CPaintDC dc(this); // 用于绘制的设备上下文
Graphics graphics(dc.m_hDC);
//...
if(m_bTargetLoaded)
{
UINT nW = m_pTargetPic->GetWidth();//运行到这里出错,编译无错
UINT nH = m_pTargetPic->GetHeight();
Rect rect(120-nW/4,120-nH/4,nW/2,nH/2);
graphics.DrawImage(m_pTargetPic,rect);
}
}
//跟踪
Image::GetWidth()
{
UINT width = 0;

SetStatus(DllExports::GdipGetImageWidth(nativeImage, &width));//这里错误

return width;
}
各位我的程序是这样的,基于对话框的MFC程序
展开
 我来答
杜茂彦rc
2011-07-04 · TA获得超过1143个赞
知道小有建树答主
回答量:1314
采纳率:100%
帮助的人:1228万
展开全部
m_pTargetPic =new Bitmap(filename);
文件名是否合法,是否new成功?是否需要load...这个调用?报什么错?
更多追问追答
追问
new操作返回0
还有我题目说了是GDI+里面的Bitmap,没有那个LoadBItmap的方法。
调试运行:打开图片,显示
ImageSearch.exe 中的 0x00415aa1 处未处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突
就是到我上面说的程序那里停止了
追答
new操作返回0 =========》 那不就是你没有成功吗?后面当然错了
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
qsjming
2011-07-04
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
m_pTargetPic肯定有问题,先检查是否为空。要不再clean,rebuild一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式