将VG图形转换为SVG图形的方法

       

       项目中需要对Visual Graph创建的tpl文件,也就是VG文件进行转换到html通用标签文件svg格式,所以专门做了转换工具。在网上实在找不到类似的可用工具,也许涉及这方面的项目太少的缘故吧。为此我发明了一种新的将VG图形转换为SVG图形的方法,解决了以上技术问题。

       首先对VG文件和SVG文件对比一下:

      相同:

       1,都有基于xml语法(xml语法格式在此就不再写了)。

       2,基本图形定义名称通用,例如line、text、rect、circle等都是一样的名称。

       3,都是基于坐标布局。

      不同:

       1,根元素不同一个是vg一个是svg。

       2,相对点不同,vg是原点坐标像四面散开布局,svg以左上角为原点向右下角散开布局。

       3,图形属性表示不同,属性不同就太多了,这也是转换器的核心。

       实现转换器的步骤:

       1,加载vg图形文件。

       2,识别vg图形文件的作用域,计算出转换后的svg原点坐标。

       3,开始对vg的图形元素进行转换,根据转换规则转换成svg图形元素。

       4,创建svg文件,将转换后的元素添加到新的文件中,输出新文件。

       步骤3详解:

       获取图形以后对不同图形进行不同的处理,对图形的坐标根据原点坐标进行转换,样式进行转。

       本发明通过建立生成SVG图形所需要的各种元件的规则,将各种规则进行有机融合形成了一套完善的技术。通过加载VG图形,去转换出与之对应的SVG图形。本发明的关键在于读取VG图形中的内容,并能够智能识别各个元件。然后通过程序的规则库,对规则库中的SVG元件进行比对。比对内容包括元件名称、编号、颜色、位置等,最后生成到新的SVG图中。转换VG图形,成功的采用了SVG模型文件的方式,能够有效的统一技术规格。原理在于转换每一张VG图形,都会将数据内容放入模型文件,最后统一生成新的SVG图形。 

         通过本方法,能够很好的解决设计人员只有VG图形而没有需要的SVG图形的问题,为设计人员带来诸多方便。

相关推荐