歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

在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