Mewlip 2019-01-02 16:07 采纳率: 0%
浏览 1006

求助!!mfc和halcon混合编程打开图片,没有报错,可是图片没有显示?

利用mfc的picture control显示一个图片,读取图片等操作利用Halcon完成。
点击显示图片按钮,利用CFileDialog类获取图片路径。
然后用Halcon函数,可是picture control没有反应。

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();
    }
    //显示路径
    MessageBox(pathName);

    //CString改成char*
    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);
}
  • 写回答

1条回答

  • 乌里随记 2019-09-15 10:01
    关注

    HObject m_hoImage;
    HTuple width, height;
    HTuple m_htWindow;
    ReadImage(&m_hoImage, ch);
    GetImageSize(m_hoImage, &height, &width);
    HWND hImgWnd = GetDlgItem(IDC_PICTURE)->m_hWnd;
    CRect rtWindow;
    GetDlgItem(IDC_PICTURE)->GetClientRect(&rtWindow);
    OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Width(), rtWindow.Height(), (Hlong)hImgWnd, "", "", &m_htWindow);
    HDevWindowStack::Push(m_htWindow);
    if (HDevWindowStack::IsOpen()) {
    DispObj(m_hoImage, HDevWindowStack::GetActive());
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题