假设是用pciture控件显示。
那么可以先改变控件的ID,然后定义一个CSTATIC 类型的变量如m_ctrlPic。
先得到当前鼠标坐标:
CPoint point;
GetCursorPos( &point );
然后得到picture控件rect。
CRect rect;
::GetClientRect(m_ctrlPicGetSafeHwnd(), &rect);
然后把当前鼠标坐标转为相对于rect的坐标。
::ScreenToClient(m_ctrlPicGetSafeHwnd(), &point);
然后判断该点坐标是否在rect内,在就显示
if(rectPtInRect(point))
{
CString strPos;
strPosFormat("%d:%d", pointx, pointy);
AfxMessageBox(strPos);
}
}
举例:background: url(/images/qq_1png) no-repeat -50px 20px;
其中的-50px 表示的是的 X 坐标
其中的20px 表示的是的 Y 坐标
这些可以是绝对也可以是相对的。
具体做法为:不断放大目标点,直到坐标精度达到使用者的要求
第二种是利用ginput函数,从图中点击不同位置获取不同点的坐标值,但是这个坐标值是相对坐标,不是绝对坐标
a = ginput(1);disp(a);此时使用者只需在图中点击目标点,即可显示出目标点坐标。
最后一种是利用工具栏中的tip工具,插入数据点标注,这个功能不仅能精确得到点坐标,而且可以标识出来。
以上就是关于怎样在VC++中取得已有图片中某一点的坐标值全部的内容,包括:怎样在VC++中取得已有图片中某一点的坐标值、css如何获取背景图片坐标、怎么用matlab从图片文件中提取曲线点的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)