如何使用halcon显示本地图片到mfc控件上

1:首先需要锁定展示图片的控件(IDC_STATIC_position为picture控件的ID号)

CRect rect;
GetDlgItem(IDC_STATIC_position)->GetClientRect(rect);
hoWindow.OpenWindow(0, 0, rect.Width() - 1, rect.Height() - 1, (long)GetDlgItem(IDC_STATIC_position)->GetSafeHwnd(), "visible", "");


Hlong lRow1, lColumn1, lRow2, lColumn2;
hoWindow.GetPart(&lRow1, &lColumn1, &lRow2, &lColumn2);
m_lWidth = lColumn2 - lColumn1;
m_lHeight = lRow2 - lRow1;

UpdateData(FALSE);

2:读图:

      HalconCpp::HImage hoImage;

HalconCpp::HWindow hoWindow;

try
{
hoImage.ReadImage("11.bmp");
}
catch (...)
{
MessageBox(_T("Open Image Failed!"), _T("Exception"), MB_OK);
return;
}
hoWindow.ClearWindow();
/*long lWidth,lHeight;
hoImage.GetImageSize(&lWidth,&lHeight);
hoWindow.SetPart(0,0,lWidth - 1, lHeight - 1);*/

hoImage.DispObj(hoWindow);

3:显示的图片可能并未完全显示在控件上,可以使用Setpart重新修改图片大小(m_lWidth 、m_lHeight 为想设置的图片大小)

        UpdateData(TRUE);
if (m_lWidth > 1 && m_lHeight > 1)
{
hoWindow.ClearWindow();
long lWidth, lHeight;
lWidth = m_lWidth;
lHeight = m_lHeight;
hoWindow.SetPart(0, 0, lHeight - 1, lWidth - 1);
hoImage.DispObj(hoWindow);
}
else
{
MessageBox(_T("Width and Height both must be > 1"), _T("Message"));
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值