我的问题是这样的:
    我自己为单位做了一个矢量图形制作工具,有点类似于VISIO中的画图,只不过我的矢量图形中只处理文本与线段(包括直线与曲线),线段可以连接到文本框的焦点上,随着文本的移动而移动,线段支持曲线,所以可以画出类似于MAPINFO中的地图线(省界线等),现在系统的功能支持自由缩放,当然这个缩放算法只是将每一个对象的坐标值进行了MULDIV(SIZE,REALZOOM,100)变换,现在领导希望系统能够直接类似于MAPINFO中的缩放功能(比如某省地图,在默认显示时是这个省的全图,点放大时可以显示每一个大城市的详细信息,再放大可以看到县城的详细信息,再放大可以看到乡镇的信息),一时没有想出什么好办法来对此功能进行处理,如何构造较好的数据结构,是使用图层算法来进行还是有没有其它的更好的办法,注我的软件中没有使用图层的功能,听说MAPINFO是通过图层的功能来解决此问题的,现在真佩服MAPINFO,想知道它是如何实现的,一来解决我的问题,二来向高手学习。
     请高手指教,高分相送!如果哪位同仁想与我私下交流学习,热烈欢迎:
e-mail:[email protected]
popo:[email protected]

解决方案 »

  1.   

    如果确实是矢量的,当然可以,因为你使用图形描述所谓图层,是逻辑上的,在适当的时候显示或隐藏图形而已,其实就是Draw或不Draw的问题看过TCAD这个组件么?要实现也不是很难的http://lysoft.7u7.net
      

  2.   

    ly_liuyang(Liu Yang) :
        多谢您!
        我的软件的确是矢量化的,我也想到了当图形缩小到一定程度时将部分对象不显示,可是如何保证线段的连续性呢,比如北京至郑州的一连串的城市组成的线段,城市根据规模级别显示不同的标志,当缩小到一定程度时,比如现在我只显示郑州和北京这两个城市的连线,此时是不是需要重新计算需要绘制线的坐标,不知您能否举个简单例子。
        
        多谢。
      

  3.   

    图形大小和位置关系的数据用1:1的比例统一存放到数据库,而缩放时用比例来动态算出图形再进行显示应该是这样的,MAPX好像也是这么干的吧,所以它在重绘复杂图形的时候是相当耗资源的!
      

  4.   

    图形数据是固定的,按照比例动态计算生成图形的,这就是矢量绘图
    当图形绘制区过小时,可以不绘制该图形http://lysoft.7u7.net