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

求助!!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());
    }

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境