用过GIS(地理信息系统)的人都知道,GIS有一个无级缩放的功能,小弟最近在做一个行业的GIS系统,基本功能已经完成,现在用的是固定缩放的算法,小弟希望将其改为无级缩放的模式,请高人指点。最好有例程。
或者发例程到:[email protected]
都有分送。

解决方案 »

  1.   

    矢量图可以无级缩放,看你的GIS系统是怎么做的了
      

  2.   

    在GIS里所有的图形都由基本的点组成。而GIS的点为浮点型数据。如:
    TGISPoint = packed record
      x,y:Double ;
    end;如用Zoom来表示缩放比的话(Zoom>0)。点的传换如下。
    Function GPSToIntPoint(GISPoint:TGISPoint;Zoom:Double):TPoint ;);//从浮点域转到整型域
    begin
      Assert(Zoom>0);
      Result.x:=Round(GisPoint.x*Zoom);
      Result.y:=Round(GisPoint.y*Zoom);
    end;无论Zoom为多大都能放。如:要画一条线段P1(x1,y1),p2(x2,y2)。经纬度为 放大100,000倍。pint1,pint2:TPoint ;
    pint1:=GPSToIntPoint(p1);//从浮点域转到整型域
    pint2:=GPSToIntPoint(p2);//从浮点域转到整型域
    ...
    偏量计算(拖动)
    ...
    Canvas.Moveto(pint1.x,pint1.y);
    Canvas.Moveto(pint2.x,pint2.y);
      

  3.   

    有用GIS控件吗?应该没使用对吧,如果有使用就简单了.
    用WMF文件可以模拟GIS,效果还不错