一种原生矢量图格式转换方法和系统的利记博彩app

文档序号:6403160阅读:223来源:国知局
专利名称:一种原生矢量图格式转换方法和系统的利记博彩app
技术领域
本发明涉及图形文件的编解码技术,尤其涉及一种原生矢量图格式转换方法和系统。
背景技术
随着网络的普及,远程用户需要通过互联网及时地观看原生矢量图平台工具生成的原生矢量图,如MXE格式矢量图。但是,由于浏览器不支持原生矢量图格式文件,原生矢量图平台工具生成的原生矢量图只能由装载所述工具的本地计算机显示,远程计算机不能通过互联网访问原生矢量图平台工具生成的原生矢量图。

发明内容
有鉴于此,本发明的主要目的在于提供一种原生矢量图格式转换方法和系统,能够将原生矢量图格式转换成浏览器支持的可缩放矢量图形(Scalable Vector Graphics,SVG)矢量图格式。为达到上述目的,本发明的技术方案是这样实现的:本发明提供的一种原生矢量图格式转换方法,所述方法包括:通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
·
将JAVA对象映射成可缩放矢量图形SVG元素;将所述SVG元素编码生成SVG矢量图。较佳地,所述对加载的原生矢量图进行解析为:对加载的原生矢量图进行文件对象模型DOM解析,所述原生矢量图是可扩展标记语言XML格式的文件。较佳地,所述将原生矢量图元素对象映射成JAVA对象为:将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。较佳地,所述将JAVA对象映射成SVG元素为:对JAVA对象进行反射,获得JAVA对象的类;通过访问所述类,遍历获得域成员;对域成员进行反射,得到域成员的操作函数;根据所述操作函数获得所述域成员的域成员值。较佳地,所述将所述SVG元素编码生成SVG矢量图为:将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。本发明提供的一种原生矢量图格式转换系统,所述系统包括:JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素;SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。
较佳地,所述JAVA对象生成单元,具体用于对加载的原生矢量图进行文件对象模型DOM解析。较佳地,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。较佳地,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类;通过访问所述类,遍历获得域成员;对域成员进行反射,得到域成员的操作函数;根据所述操作函数获得所述域成员的域成员值。较佳地,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。由上可知,本发明的技术方案包括:通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象^fJAVA对象映射成可缩放矢量图形SVG元素;将所述SVG元素编码生成SVG矢量图。由此,本发明通过将原生矢量图元素映射成JAVA对象,再将JAVA对象映射成SVG元素,然后SVG元素编码生成SVG矢量图,实现将原生矢量图格式转换成浏览器支持的SVG矢量图格式。


图1为本发明原生矢量图格式转换方法的实现流程示意
图2为本发明文件解析的实现流程示意图;图3为本发明通过解析器进行节点属性解析的实现流程示意图;图4为本发明通过解析器进行节点的孩子节点解析的实现流程示意图;图5为本发明将JAVA对象映射成SVG元素的实现流程示意图;图6为本发明原生矢量图格式转换系统的结构示意图;图7为本发明AJAX异步实时读取数据的实现流程示意图;图8为本发明AJAX异步实时读取数据的实现流程示意图。
具体实施例方式本发明提供了一种原生矢量图格式转换方法,如图1所示,所述方法包括:步骤101、通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;这里,使用原生矢量图平台工具打开并加载原生矢量图;原生矢量图平台工具对加载的原生矢量图进行解析,并呈现原生矢量图效果。此时可以对原生矢量图进行编辑,若未编辑完毕则可继续在原生矢量图平台工具对该原生矢量图进行编辑,并循环上面的原生矢量图加载呈现过程;若编辑完毕,选择另存为SVG矢量图文件;原生矢量图平台工具将原生矢量图元素映射成JAVA对象。步骤102、将JAVA对象映射成可缩放矢量图形SVG元素;这里,将内存中一系列的JAVA对象映射成一系列的SVG标签元素。步骤103、将所述SVG元素编码生成SVG矢量这里,将一系列SVG标签元素写入目标SVG矢量图文件。在实际应用中,用浏览器打开预览;通过JAVASCRIPT脚本对SVG文件内容进行处理,基于AJAX异步读取数据即可获取数据并实时显示SVG矢量图,从而远程计算机能够通过互联网访问原生矢量图平台工具生成的原生矢量图。优选地,所述对加载的原生矢量图进行解析可以为:对加载的原生矢量图的可扩展标记语言(Extensible Markup Language, XML)文件进行文件对象模型(Document Object Model, DOM)解析;具体的,参见图2、3、4所示,对于树状结构的文件的解析过程如下:步骤201、解析根节点;步骤202、获取与节点类型信息绑定的解析器;步骤203、通过解析器进行节点属性解析;具体的,通过解析器进行节点属性解析包括以下步骤:步骤2031、获取节点的第一个属性;步骤2032、将属性的内容作为赋值给对象;步骤2033、判断是否存在下一个属性,若存在则进入步骤2034 ;若不存在则节点属性解析完成。 步骤2034、获取下一个属性,返回步骤2032。步骤204、通过解析器进行节点的孩子节点解析;具体的,通过解析器进行节点的孩子节点解析包括以下步骤:步骤2041、获得第一个孩子节点;步骤2042、判断节点内容是否为空,若为空则进入步骤2044,若不为空,进入步骤2043 ;步骤2043、通过解析器解析节点;步骤2044、判断是否存在下一个孩子节点,若存在则进入步骤2042 ;若不存在则节点的孩子节点属性解析完成。步骤205、判断是否存在下一个节点,若存在则进入步骤206 ;若不存在则结束本次流程;步骤206、获取下一个节点,返回步骤202。优选地,所述将原生矢量图元素对象映射成JAVA对象可以为:将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象;这里,通过平台工具提供的解码器将原生矢量图文件格式生成Java对象,所述Java对象具有一定格式,所述Java对象是用一个树形结构存储的。优选地,参照图5所示,所述将JAVA对象映射成SVG元素可以为:步骤501、对JAVA对象进行反射,获得JAVA对象的类;步骤502、通过访问所述类,遍历获得域成员;步骤503、对域成员进行反射,得到域成员的操作函数;步骤504、根据所述操作函数获得所述域成员的域成员值。优选地,所述将所述SVG元素编码生成SVG矢量图可以为:将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
本发明提供了一种原生矢量图格式转换系统,如图6所示,所述系统包括:JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素;SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。优选地,所述JAVA对象生成单元,具体用于对加载的原生矢量图的可扩展标记语言XML文件进行文件对象模型DOM解析。优选地,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。优选地,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类;通过访问所述类,遍历获得域成员;对域成员进行反射,得到域成员的操作函数;根据所述操作函数获得所述域成员的域成员值。优选地,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。在实际应用中,参照图7、8所示,浏览器端基于JAVASCRIPT脚本的AJAX异步实时读取数据过程如下:步骤701、嵌入SVG的网页在加载时调用JAVASCRIPT定义的方法;步骤702、发起JQUERYAJAX的POST发起请求,请求JSP服务器端;步骤703、JSP接受请求后被执行,进行数据处理并发起数据库查询请求,通过SQL语句查询数据库;此处的SQL语句是通过对SVG文件中所有的数据库信息进行split操作得到需要的字段,并以一定格式拼接出的;步骤704、服务器端将数据库返回数据存于一个map数据结构中返回给客户端;多次的数据库查询返回了多个数据,需要对每个数据对应SVG文件中的哪个元素信息进行识别,所以把查询数据库的信息需要进行保存,这里有一个数据对应的关系,采用一个 HashMap〈String, String〉存储;步骤705、JAVASCRIPT对数据进行处理并对SVG文件进行DOM操作;将AJAX POST回调函数返回的数据进行split等一系列处理后得到一系列的主键,表名和对应的值,通过DOM解析获得SVG文件中对应的属性与返回数据中的主键表名进行比较,如果相 等,就把相应的值赋给SVG中该元素对应的显示文字处;步骤706、数据修改SVG文件从而动态修改了网页,显示给终端用户网页刷新,显示数据。下面以将本发明应用于供暖公司锅炉房监控场景为例,对本发明进行介绍。步骤801、用户在原生矢量图平台工具中选定打开某一原生矢量图文件;该原生矢量图文件可以形象化地看到锅炉房的配置并可读取一系列的监控信息;步骤802、原生矢量图平台工具加载并显示原生矢量此时原生矢量图平台工具已经通过解码器解析了原生矢量图并生成了具有一定格式的JAVA对象,用户此时可选择继续编辑;步骤803、用户编辑完毕后,可选择菜单栏选项中的文件另存为选项另存为SVG矢量图文件;步骤804、原生矢量图平台工具通过调用目标格式文件的编码器将上述具有一定格式的JAVA对象进行对象元素映射成一系列SVG标签的元素,写入了 SVG目标矢量图文件。步骤805、将SVG目标矢量图文件放入浏览器中打开;步骤806、JAVASCRIPT脚本发起JQUERY AJAX POST方法,请求JSP服务器端;步骤807、服务器端将数据库返回数据存于一个MAP数据结构中返回给客户端;多次的数据库查询返回了多个数据,需要对每个数据对应SVG矢量图文件中的哪个元素信息进行识别,所以把查询数据库的信息需要进行保存,这里有一个数据对应的关系,采用一个 HashMap〈String, String〉存储;步骤808、JAVASCRIPT对数据进行处理并对SVG文件进行DOM操作;步骤809、数据修改SVG矢量图文件从而动态修改了网页,显示给终端用户网页刷新,显示数据。·以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种原生矢量图格式转换方法,其特征在于,所述方法包括: 通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象; 将JAVA对象映射成可缩放矢量图形SVG元素; 将所述SVG元素编码生成SVG矢量图。
2.根据权利要求1所述的方法,其特征在于,所述对加载的原生矢量图进行解析为: 对加载的原生矢量图进行文件对象模型DOM解析,所述原生矢量图是可扩展标记语言XML格式的文件。
3.根据权利要求1所述的方法,其特征在于,所述将原生矢量图元素对象映射成JAVA对象为: 将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
4.根据权利要求1所述的方法,其特征在于,所述将JAVA对象映射成SVG元素为: 对JAVA对象进行反射,获得JAVA对象的类; 通过访问所述类,遍历获得域成员; 对域成员进行反射,得到域成员的操作函数; 根据所述操作函数获得所述域成员的域成员值。
5.根据权利要求4所 述的方法,其特征在于,所述将所述SVG元素编码生成SVG矢量图为: 将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
6.一种原生矢量图格式转换系统,其特征在于,所述系统包括: JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象; SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素; SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。
7.根据权利要求6所述的系统,其特征在于,所述JAVA对象生成单元,具体用于对加载的原生矢量图进行文件对象模型DOM解析。
8.根据权利要求6所述的系统,其特征在于,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
9.根据权利要求6所述的系统,其特征在于,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类; 通过访问所述类,遍历获得域成员; 对域成员进行反射,得到域成员的操作函数; 根据所述操作函数获得所述域成员的域成员值。
10.根据权利要求9所述的系统,其特征在于,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
全文摘要
本发明公开了一种原生矢量图格式转换方法和系统,其中,所述方法包括通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;将JAVA对象映射成可缩放矢量图形SVG元素;将所述SVG元素编码生成SVG矢量图。本发明能够将原生矢量图格式转换成浏览器支持的SVG矢量图格式。
文档编号G06F17/30GK103226619SQ201310195660
公开日2013年7月31日 申请日期2013年5月23日 优先权日2013年5月23日
发明者程渤, 吴步丹, 陈俊亮, 刘派 申请人:北京邮电大学, 无锡北邮感知技术产业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1