歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> VC++圖形平移功能的實現

VC++圖形平移功能的實現

日期:2017/3/1 9:54:05   编辑:Linux編程

在GIS開發中,我們會經常碰到地圖平移的操作,那麼這個操作在具體的編程實踐中怎麼去實現?

其實地圖平移只需要改變兩個繪圖參數就可以了,也就是左下角原點的坐標,地圖的比例尺不變。

具體的代碼如下:

CDC *pDC = GetDC();
CGISServerDoc* pDoc = GetDocument();

OGRPoint pt1 = pDoc->m_mapWnd.ScreenPointToGeoPoint(&m_ptOrigin,prarm);
OGRPoint pt2 = pDoc->m_mapWnd.ScreenPointToGeoPoint(&m_ptEnd,prarm);

//改變地圖的原點坐標
prarm->m_StartX -= pt2.getX() - pt1.getX();
prarm->m_StartY -= pt2.getY() - pt1.getY();
pDoc->m_mapWnd.DrawMap(pDC,prarm);

上面的m_ptOrigin是第一點屏幕坐標,m_ptEnd是第二點屏幕坐標。

Copyright © Linux教程網 All Rights Reserved