热点推荐

查看: 263|回复: 6
收起左侧

[待解决] 用mfc和halcon打开图片,内存似乎报错溢出,哪儿错了??

[复制链接]
  • TA的每日心情
    叹气
    2019-3-16 09:15
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    18

    帖子

    47

    积分

    Rank: 1

    积分
    47

    优质会员

    发表于 2019-1-2 16:21:25 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    在mfc中点击显示图片按钮,将图片显示在picture control上,报错似乎内存溢出,图片不能显示,哪儿错了呢???
    TIM截图20190102161618.png TIM截图20190102161734.png TIM截图20190102161755.png TIM截图20190102161818.png
    代码如下////////////////////////
    void CMCFLearningCaseDlg::OnBnClickedPictureButton()
    {
            // TODO: 在此添加控件通知处理程序代码
            //得到图片文件路径
            TCHAR szFilters[] = _T("图片文件(.bmp .png .jpg)/.bmp;.png;*jpg/All Files (.)/.*||");
            CFileDialog fileDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters,NULL);
            CString pathName;
            HImage Image;
            HTuple Width, Height;
            if (fileDlg.DoModal() == IDOK)
            {
                    pathName = fileDlg.GetPathName();
            }
            //pop up pathname
            MessageBox(pathName);

            //change PathName Type
            int len = WideCharToMultiByte(CP_ACP, 0, pathName, -1, NULL, 0, NULL, NULL);
            char *ptxtTemp = new char[len + 1];
            WideCharToMultiByte(CP_ACP, 0, pathName, -1, ptxtTemp, len, NULL, NULL);

            //读取图片
            Image.ReadImage(ptxtTemp);
            //得到图片尺寸
            Image.GetImageSize(&Width, &Height);
            //窗口句柄获取
            HWND hImgWnd = GetDlgItem(IDC_PICTURE_STATIC)->m_hWnd;
            CRect rtWindow;
            GetDlgItem(IDC_PICTURE_STATIC)->GetClientRect(&rtWindow);
            HWindow m_htWindow;
            //打开一个窗口并显示图片
            m_htWindow.OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Height(), rtWindow.Width(), (Hlong)hImgWnd, "visible", "");
            m_htWindow.SetPart(0, 0, Width.I(), Height.I());
            Image.DispImage(m_htWindow);
    }



    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    面向企业销售智能软件带相机和镜头,仅需3500,来电咨询 15019223858  18520862540
  • TA的每日心情
    点赞
    3 小时前
  • 签到天数: 331 天

    连续签到: 1 天

    [LV.8]以坛为家I

    88

    主题

    379

    帖子

    2155

    积分

    Rank: 9

    积分
    2155

    热心会员突出贡献优质会员最佳新人

    发表于 2019-1-2 17:19:29 | 显示全部楼层
    你用的哪个版本的?是18.11?
  • TA的每日心情
    叹气
    2019-3-16 09:15
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    18

    帖子

    47

    积分

    Rank: 1

    积分
    47

    优质会员

     楼主| 发表于 2019-1-2 17:39:09 | 显示全部楼层
    绝地武士 发表于 2019-1-2 17:19
    你用的哪个版本的?是18.11?

    对的,最新版本

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    叹气
    2019-3-16 09:15
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    18

    帖子

    47

    积分

    Rank: 1

    积分
    47

    优质会员

     楼主| 发表于 2019-1-2 18:55:41 | 显示全部楼层
    TIM截图20190102185411.png
    这个是怎么错了呢,把Width 和Height赋初值NULL也是同样报错。
    是文件路径有错吗?

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2018-12-18 10:28
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    37

    帖子

    577

    积分

    Rank: 3

    积分
    577
    发表于 2019-1-3 13:02:24 | 显示全部楼层
    本帖最后由 mediation 于 2019-1-3 13:03 编辑

    m_htWindow.OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Height(), rtWindow.Width(), (Hlong)hImgWnd, "visible", "");
    好像这里width() 和 Height() 位置交换了,不知道是不是引起异常的原因之一
    还有一个Openwindow最好放在初始化函数里;
    不能每次点击就打开一个窗口,点多了就内存泄漏了

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    叹气
    2019-3-16 09:15
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    18

    帖子

    47

    积分

    Rank: 1

    积分
    47

    优质会员

     楼主| 发表于 2019-1-5 09:53:12 | 显示全部楼层
    最后不用HImage类,而该用导出文件中的HObject类,仿照导出文件写解决了问题,然而依旧不清楚上述代码有什么问题。

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    该用户从未签到

    0

    主题

    6

    帖子

    34

    积分

    Rank: 1

    积分
    34
    发表于 2019-1-5 16:42:00 | 显示全部楼层
    文件路径不要出现中文字符

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    经营性网站备案信息 经营性网站
    备案信息

    中国互联网举报中心 中国互联网
    举报中心

    中国文明网传播文明 中国文明网
    传播文明

    诚信网站

    深圳市市场监督管理局企业主体身份公示 工商网监
    电子标识