可缩放矢量图形的压缩、绘制方法及装置制造方法及图纸

技术编号:13044270 阅读:41 留言:0更新日期:2016-03-23 13:22
本公开是关于可缩放矢量图形的压缩、绘制方法及装置,该可缩放矢量图形的压缩方法包括:获取待压缩的可缩放矢量图形;获取所述可缩放矢量图形的文件源码;所述文件源码中记录有图形元素的绘制信息;将所述图形元素的绘制信息按预设的编码规则转换为数字,获得所述可缩放矢量图形的压缩文件,所述编码规则中记录有绘制信息与数字的对应关系。采用本公开的压缩方法能使压缩后SVG文件减少SVG的占用空间,减少资源浪费;该可缩放矢量图形的压缩文件中包括数字格式的图形元素的绘制信息,根据编码规则可以解码出该数字对应的图形元素的绘制信息,从而可以根据所述绘制信息快速地绘制出图形元素,得到所述可缩放矢量图形。

【技术实现步骤摘要】

本申请涉及通信
,尤其涉及的可缩放矢量图形的压缩、绘制方法及装置
技术介绍
可缩放矢量图形(ScalableVectorGraphics,SVG)是由万维网联盟(WorldWide WebConsortium,W3C)制定的矢量图形规范。按照W3C的标准,SVG是采用可扩展标记语言 (ExtensibleMarkupLanguage,XML)编写的。SVG图形具有占用空间小、缩放不失真、间距 动画等功能,应用前景广泛。但SVG使用XML作为描述语言,其文本描述较为浪费资源,且 解析过程较为复杂。
技术实现思路
为克服相关技术中存在的问题,本公开提供了可缩放矢量图形的压缩的方法及装 置。 根据本公开实施例的第一方面,提供一种可缩放矢量图形的压缩方法,所述方法 包括: 获取待压缩的可缩放矢量图形; 获取所述可缩放矢量图形的文件源码;所述文件源码中记录有图形元素的绘制信 息; 将所述图形元素的绘制信息按预设的编码规则转换为数字,获得所述可缩放矢量 图形的压缩文件,所述编码规则包括绘制信息与数字的对应关系。 可选的,所述编码规则还包括图形元素与开始标记和结束标记的对应关系,所述 开始标记和结束标记分别用于在编码时表示图形元素的绘制信息的开始和结束; 所述将所述图形元素的绘制信息按预设的编码规则转换为数字,包括: 根据所述图形元素与开始标记和结束标记的对应关系,获取所述图形元素对应的 开始标记和结束标记; 根据所述绘制信息与数字的对应关系,获取所述绘制信息对应的数字; 记录所述开始标记和结束标记,并在所述开始标记和结束标记之间记录所述绘制 信息对应的数字。 可选的,所述绘制信息包括图形元素名和图形元素的属性信息,所述属性信息包 括属性名、属性值的数据类型和属性值; 所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属性名与 数字的对应关系,以及属性值的数据类型与数字的对应关系; 所述根据所述绘制信息与数字的对应关系,获取所述绘制信息对应的数字,包 括: 根据所述图形元素名与数字的对应关系,获取所述图形元素名对应的数字; 根据所述属性名与数字的对应关系,获取所述属性名对应的数字; 根据所述属性值的数据类型与数字的对应关系,获取所述属性值的数据类型对应 的数字; 所述在所述开始标记和结束标记之间记录所述绘制信息对应的数字,包括: 在所述开始标记和结束标记之间记录所述图形元素名对应的数字、属性名对应的 数字和属性值的数据类型对应的数字和所述属性值。 可选的,所述将所述图形元素的绘制信息按预设的编码规则编码为数字,包括: 当所述绘制信息中包括引用对象标识时,获取所述引用对象标识对应的引用对象 的存储位置; 创建对象引用关系,所述对象引用关系包括对象索引和所述引用对象的存储位 置,所述对象索引为数字; 将所述引用对象标识转换为所述对象索引。 可选的,所述记录所述属性值,包括: 当所述图形元素的属性信息中包括一个或多个显示样式属性信息时,记录各个所 述显示样式属性信息的属性名对应的数字和各个所述显示样式属性信息的属性值作为预 设的目标显示样式属性的属性值。 可选的,所述记录所述属性值,包括: 当所述图形元素的属性信息为路径属性信息时,根据ASCII编码系统中记录的字 符与数字的对应关系,将命令字符转换为对应的数字,记录所述命令字符所对应的数字和 所述命令字符对应的数据;其中,所述路径属性信息的属性值包括命令字符和与所述命令 字符对应的数据。 可选的,所述记录所述属性值,包括:当所述属性值的数据类型为整型时,将所述属性值按照LEB128编码格式转换为 预设进制的数字;当所述属性值的数据类型为浮点型或双精度型时,将所述属性值转换为十六进制 数后,再按照LEB128编码格式转换为预设进制的数字。 可选的,所述记录属性值,包括:当所述属性值的数据类型为字符串时,将所述字符串存储在预创建的字符串池 中,获取所述字符串在所述字符串池中的存储位置; 创建字符串引用关系,所述字符串引用关系包括索引和所述字符串在字符串池的 存储位置,所述索引为数字; 将所述字符串转换为所述索引。 根据本公开实施例的第二方面,提供一种可缩放矢量图形的绘制方法,所述方法 包括: 获取可缩放矢量图形的压缩文件,所述压缩文件中包括数字格式的图形元素的绘 制ig息; 根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢量图 形的图形元素的绘制信息,所述编码规则包括绘制信息与数字的对应关系; 根据所述绘制信息绘制所述图形元素,得到所述可缩放矢量图形。 可选的,所述编码规则包括图形元素与开始标记和结束标记的对应关系,所述开 始标记和结束标记分别用于表示图形元素的绘制信息的开始和结束; 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括: 获取开始标记和结束标记之间的数字; 根据所述绘制信息与数字的对应关系,解码所述开始标记和结束标记之间的数 字,得到所述绘制信息。 可选的,所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属 性名与数字的对应关系,以及属性值的数据类型与数字的对应关系; 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括: 根据所述图形元素名与数字的对应关系、所述属性名与数字的对应关系和属性值 的数据类型与数字的对应关系,获得图形元素名、属性名、属性值的数据类型和属性值,得 到所述绘制信息。 可选的,所述绘制信息与数字的对应关系还包括:对象引用关系,所述对象引用关 系包括对象索引和所述引用对象的存储位置,所述对象索引为数字; 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括: 当判断所述数字为对象索引时,根据所述对象引用关系获取与所述数字对应的所 述引用对象的存储位置; 根据所述引用对象的存储位置获取所述引用对象的绘制信息,得到所述图形元素 的绘制信息。 可选的,所述绘制信息与数字的对应关系还包括:字符串引用关系,所述字符串引 用关系包括字符串索引和字符串在字符串池的存储位置,所述字符串索引为数字; 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括: 当判断所述数字为字符串索引时,根据字符串引用关系获取与所述数字对应的所 述字符串在字符串池的偏移位置; 根据所述字符串在字符串池的存储位置,从预创建的字符串池中获取所述字符 串,得到所述图形元素的绘制信息。 可选的,所述根据所述绘制信息绘制出所述图形元素,包括: 创建对象,所述对象为系统可绘制对象抽象类的派生类的对象; 将所述绘制信息赋值给所述对象中的成员函数; 加载所述对象,利用所述成员函数绘制出所述图形元素。 根据本公开实施例的第三方面,提供一种可缩放矢量图形的压缩装置,所述装置 包括:图形获取模块,被配置为获取待压缩的可缩放矢量图形; 文件源码获取模块,被配置为获取所述可缩放矢量图形的文件源码;所述文件源 码中记录有图形元素的绘制信息; 编码模块,被配置为将所述图形元素的绘制信息按预设的编码规则转换为数字, 获本文档来自技高网...

【技术保护点】
一种可缩放矢量图形的压缩方法,其特征在于,所述方法包括:获取待压缩的可缩放矢量图形;获取所述可缩放矢量图形的文件源码;所述文件源码中记录有图形元素的绘制信息;将所述图形元素的绘制信息按预设的编码规则转换为数字,获得所述可缩放矢量图形的压缩文件,所述编码规则包括绘制信息与数字的对应关系。

【技术特征摘要】

【专利技术属性】
技术研发人员:董俊杰
申请(专利权)人:小米科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1