一种展示矢量图形的方法和终端技术

技术编号:8106225 阅读:164 留言:1更新日期:2012-12-21 05:27
本发明专利技术实施例公开了一种展示矢量图形的方法和终端。其中的方法包括:读取SVG文件;解析SVG文件,得到展示三维矢量图形的三维标签和三维标签的子标签;从三维标签中提取出描述三维空间平面属性的三维参数,从子标签中提取出描述二维矢量图形属性的二维参数,其中,在二维参数中增加了描述图形厚度属性的参数,三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角;将提取出的参数传递给图形绘制接口,以便图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。根据本发明专利技术实施例,可以支持展示三维矢量图形。

【技术实现步骤摘要】

本专利技术涉及无线通信
,特别是涉及一种展示矢量图形的方法和终端
技术介绍
SVG(Scalable Vector Graphics,可缩放矢量图形)是基于XML(可扩展标记)语言来描述二维矢量图像的一种图形格式。SVG标准由W3C制定,是一个开放的国际标准。SVG标准中定义了一些基础图形的标签,如,用于显示矩形的矩形标签或用于显示圆形的圆形标签。目前,一些浏览器和图形编辑软件支持SVG技术,能够展示二维矢量图形。另外, 由于SVG技术是基于XML的,因而能够制作出动态交互图像。而作为SVG技术的一个应用,在手机等无线手持设备上的应用也是3G时代最重要的应用之一。支持SVG技术的手机,允许用户查看高质量的矢量图形及动画,同时,由于SVG技术采用文本传输,尺寸也会非常小,速度将会更快。但是,SVG技术仅支持展示二维矢量图形,并不支持三维矢量图形的展示。
技术实现思路
为了解决上述技术问题,本专利技术实施例提供了一种展示矢量图形的方法和终端,以支持展示三维矢量图形。本专利技术实施例公开了如下技术方案—种展示矢量图形的方法,包括读取扩缩放矢量图形SVG文件;解析所述SVG文件,得到展示三维矢量图形的三维标签和所述三维标签的子标签;从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数,其中,在所述二维参数中增加了描述图形厚度属性的参数,所述三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角;将提取出的参数传递给图形绘制接口,以便所述图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。一种展示矢量图形的终端,包括读取单元,用于读取扩缩放矢量图形SVG文件;解析单元,用于解析所述SVG文件,得到展示三维矢量图形的三维标签和所述三维标签的子标签;参数提取单元,用于从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数,其中,在所述二维参数中增加了描述图形厚度属性的参数,所述三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角;三维展示单元,用于将提取出的参数传递给图形绘制接口,以便所述图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。由上述实施例可以看出,在SVG文件中扩展三维标签,以及在三维标签的子标签中扩展描述图形厚度属性的参数,通过三维标签和三维标签的子标签中的参数,可以展示三维矢量图形。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术一种展示矢量图形的方法的一个实施例的流程图;图2-1为现有的一个二维矢量图形;图2-2为本专利技术的一个三维矢量图形; 图3为本专利技术一种展示矢量图形的方法的另一个实施例的流程图;图4为本专利技术中展示一个立方体三维矢量图形和一个正方体的二维矢量图形的流程图;图5为本专利技术一种展示矢量图形的终端的一个实施例的结构图;图6为本专利技术一种展示矢量图形的终端的另一个实施例的结构图;图7为本专利技术中二维展示单元的一个结构示意图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例进行详细描述。请参阅图1,其为本专利技术一种展示矢量图形的方法的一个实施例的流程图,包括以下步骤步骤101 :读取扩缩放矢量图形SVG文件;步骤102 :解析所述SVG文件,得到展示三维矢量图形的三维标签和所述三维标签的子标签;步骤103 :从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数,其中,在所述二维参数中增加了描述图形厚度属性的参数,所述三维参数包括三维空间平面在三维空间中的启示位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角;在本专利技术的技术方案中,为了能够使SVG文件展示三维矢量图形,在SVG文件中包括展示三维矢量图形的三维标签和三维标签的子标签。通过解析SVG文件,得到三维标签和三维标签的子标签。从三维标签中可以提取出描述三维空间平面属性的三维参数,从三维标签的子标签中可以提取出描述二维矢量图形属性的二维参数。其中,三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角。与现有SVG文件的标签中包含的描述二维矢量图形属性的二维参数相比,在三维标签子标签中增加了描述图形厚度属性的参数。例如,以三维标签为“χ =”10” y =”10” z =”10” width =”500” height=,,500” angleX =,,90” angleY = ” 120”为例,其中的x、y和z分别表示一个三维空间平面在三维空间中的X轴、Y轴和Z轴的起始位置为10、10和10,width和height分别表示该三维空间平面的宽为500,高为500,angleX和angleY分别表示该三维空间平面与X轴的夹角为90°,与Y轴的夹角为120°。三维标签的子标签中的二维参数除了包括与现有的SVG文件标签中的二维参数之外,还增加了描述二维矢量图形厚度属性的参数,表示二维矢量图形在三维空间平面上所显示的厚度。例如,以三维标签中的子标签为“χ = 80 y = 60 width=250 height = 250 rx = 20 fill = red stroke = black stroke-width = 2px depth =” 10”” 为例,其中的参数 x、y、width、height、rx、full、stroke和stroke-width为现有的SVG文件标签中的二维参数,depth表示该二维矢量图像在三维空间平面上所显示的厚度。 需要说明的是,在本专利技术的技术方案中,除了描述图形厚度属性的二维参数外,三维标签的子标签中的其它二维参数与现有的SVG文件标签中的二维参数相同,本专利技术实施例对此并不进行限定。步骤104 :将提取出的参数传递给图形绘制接口,以便所述图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。当在步骤103中提取出三维参数和二维参数后,将提取出的参数传递给图形绘制接口,图形绘制接口在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,进而可以得到一个三维矢量图形。如图2所示,图2-1为现有的一个二维矢量图形,图2-2为本专利技术的一个三维矢量图形。优选的,所述图形绘制接口包括OpenGUDirectX或SKIA。需要说明的是,在本专利技术的技术方案中,可以采用现有的任何一种支持SVG文件的图形绘制接口,本专利技术实施例对采用的图形绘制接口类型并不做具体限定。由上述实施例可以看出,在SV本文档来自技高网...

【技术保护点】
一种展示矢量图形的方法,其特征在于,包括:读取扩缩放矢量图形SVG文件;解析所述SVG文件,得到展示三维矢量图形的三维标签和所述三维标签的子标签;从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数,其中,在所述二维参数中增加了描述图形厚度属性的参数,所述三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角;将提取出的参数传递给图形绘制接口,以便所述图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。

【技术特征摘要】
1.一种展示矢量图形的方法,其特征在于,包括 读取扩缩放矢量图形SVG文件; 解析所述SVG文件,得到展示三维矢量图形的三维标签和所述三维标签的子标签; 从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数,其中,在所述二维参数中增加了描述图形厚度属性的参数,所述三维参数包括三维空间平面在三维空间中的起始位置、三维空间平面的大小和三维空间平面分别与X轴和Y轴的夹角; 将提取出的参数传递给图形绘制接口,以便所述图形绘制接口根据接收的参数,在三维参数描述的三维空间平面上绘制二维参数描述的二维矢量图形,并展示绘制得到的三维矢量图形。2.根据权利要求I所述的方法,其特征在于,所述方法还包括 当解析所述SVG文件,同时得到展示二维矢量图形的二维标签,以及展示三维矢量图形的三维标签和所述三维标签的子标签后,判断当前标签是否是三维标签的子标签,如果否,从当前标签中提取出描述二维矢量图形属性的二维参数,将提取出的二维参数传递给图形绘制接口,以便所述图形绘制接口根据接收的二维参数绘制二维矢量图形,并展示绘制得到的二维矢量图形; 如果是,则所述从所述三维标签中提取出描述三维空间平面属性的三维参数,从所述三维标签的子标签中提取出描述二维矢量图形属性的二维参数为从当前标签中提取出描述二维矢量图形属性的二维参数,从当前标签的父标签中提取出描述三维空间平面属性的三维参数。3.根据权利要求2所述的方法,其特征在于,所述判断当前标签是否是三维标签的子标签具体为 将所述当前标签作为当前节点,根据当前节点的节点标识查找所述当前节点的父节点. 如果所述父节点与三维标签的节点标识相同,所述当前标签是三维标签的子标签。4.根据权利要求2所述的方法,其特征在于,所述判断当前标签是否是三维标签的子标签具体为 将所述当前标签作为当前节点,如果当前节点有父节点,所述当前标签是三维标签的子标签。5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述图形绘制接口包括OpenGL、DirectX 或 SK...

【专利技术属性】
技术研发人员:王菲郑昕
申请(专利权)人:华为软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[北京市百度蜘蛛] 2014年12月09日 10:58
    矢量图是根据几何特性来绘制图形矢量可以是一个点或一条线矢量图只能靠软件生成文件占用内在空间较小因为这种类型的图像文件包含独立的分离图像可以自由无限制的重新组合它的特点是放大后图像不会失真和分辨率无关适用于图形设计文字设计和一些标志设计版式设计等
    0
1