怎样在VC++中取得已有图片中某一点的坐标值

来源:百度知道 编辑:UC知道 时间:2024/05/31 20:17:29

假设是用pciture控件显示图片。
那么可以先改变控件的ID,然后定义一个CSTATIC 类型的变量如m_ctrlPic。
先得到当前鼠标坐标:
CPoint point;
GetCursorPos( &point );
然后得到picture控件rect。
CRect rect;
::GetClientRect(m_ctrlPic.GetSafeHwnd(), &rect);
然后把当前鼠标坐标转为相对于rect的坐标。
::ScreenToClient(m_ctrlPic.GetSafeHwnd(), &point);
然后判断该点坐标是否在rect内,在就显示
if(rect.PtInRect(point))
{
CString strPos;
strPos.Format("%d:%d", point.x, point.y);
AfxMessageBox(strPos);
}

}

先Get 图片的rect,然后就知道左上角的坐标,然后通过位移加上你要去取的某一点相对于左上角的位移,坐标值就出来了。