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"));
}