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

文档序号:9668211阅读:388来源:国知局
可缩放矢量图形的压缩、绘制方法及装置的制造方法
【技术领域】
[0001] 本申请涉及通信技术领域,尤其涉及的可缩放矢量图形的压缩、绘制方法及装置。
【背景技术】
[0002] 可缩放矢量图形(ScalableVectorGraphics,SVG)是由万维网联盟(WorldWide WebConsortium,W3C)制定的矢量图形规范。按照W3C的标准,SVG是采用可扩展标记语言 (ExtensibleMarkupLanguage,XML)编写的。SVG图形具有占用空间小、缩放不失真、间距 动画等功能,应用前景广泛。但SVG使用XML作为描述语言,其文本描述较为浪费资源,且 解析过程较为复杂。

【发明内容】

[0003] 为克服相关技术中存在的问题,本公开提供了可缩放矢量图形的压缩的方法及装 置。
[0004] 根据本公开实施例的第一方面,提供一种可缩放矢量图形的压缩方法,所述方法 包括:
[0005] 获取待压缩的可缩放矢量图形;
[0006] 获取所述可缩放矢量图形的文件源码;所述文件源码中记录有图形元素的绘制信 息;
[0007] 将所述图形元素的绘制信息按预设的编码规则转换为数字,获得所述可缩放矢量 图形的压缩文件,所述编码规则包括绘制信息与数字的对应关系。
[0008] 可选的,所述编码规则还包括图形元素与开始标记和结束标记的对应关系,所述 开始标记和结束标记分别用于在编码时表示图形元素的绘制信息的开始和结束;
[0009] 所述将所述图形元素的绘制信息按预设的编码规则转换为数字,包括:
[0010] 根据所述图形元素与开始标记和结束标记的对应关系,获取所述图形元素对应的 开始标记和结束标记;
[0011] 根据所述绘制信息与数字的对应关系,获取所述绘制信息对应的数字;
[0012] 记录所述开始标记和结束标记,并在所述开始标记和结束标记之间记录所述绘制 信息对应的数字。
[0013] 可选的,所述绘制信息包括图形元素名和图形元素的属性信息,所述属性信息包 括属性名、属性值的数据类型和属性值;
[0014] 所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属性名与 数字的对应关系,以及属性值的数据类型与数字的对应关系;
[0015] 所述根据所述绘制信息与数字的对应关系,获取所述绘制信息对应的数字,包 括:
[0016] 根据所述图形元素名与数字的对应关系,获取所述图形元素名对应的数字;
[0017] 根据所述属性名与数字的对应关系,获取所述属性名对应的数字;
[0018] 根据所述属性值的数据类型与数字的对应关系,获取所述属性值的数据类型对应 的数字;
[0019] 所述在所述开始标记和结束标记之间记录所述绘制信息对应的数字,包括:
[0020] 在所述开始标记和结束标记之间记录所述图形元素名对应的数字、属性名对应的 数字和属性值的数据类型对应的数字和所述属性值。
[0021] 可选的,所述将所述图形元素的绘制信息按预设的编码规则编码为数字,包括:
[0022] 当所述绘制信息中包括引用对象标识时,获取所述引用对象标识对应的引用对象 的存储位置;
[0023] 创建对象引用关系,所述对象引用关系包括对象索引和所述引用对象的存储位 置,所述对象索引为数字;
[0024] 将所述引用对象标识转换为所述对象索引。
[0025] 可选的,所述记录所述属性值,包括:
[0026] 当所述图形元素的属性信息中包括一个或多个显示样式属性信息时,记录各个所 述显示样式属性信息的属性名对应的数字和各个所述显示样式属性信息的属性值作为预 设的目标显示样式属性的属性值。
[0027] 可选的,所述记录所述属性值,包括:
[0028] 当所述图形元素的属性信息为路径属性信息时,根据ASCII编码系统中记录的字 符与数字的对应关系,将命令字符转换为对应的数字,记录所述命令字符所对应的数字和 所述命令字符对应的数据;其中,所述路径属性信息的属性值包括命令字符和与所述命令 字符对应的数据。
[0029] 可选的,所述记录所述属性值,包括:
[0030]当所述属性值的数据类型为整型时,将所述属性值按照LEB128编码格式转换为 预设进制的数字;
[0031]当所述属性值的数据类型为浮点型或双精度型时,将所述属性值转换为十六进制 数后,再按照LEB128编码格式转换为预设进制的数字。
[0032] 可选的,所述记录属性值,包括:
[0033]当所述属性值的数据类型为字符串时,将所述字符串存储在预创建的字符串池 中,获取所述字符串在所述字符串池中的存储位置;
[0034] 创建字符串引用关系,所述字符串引用关系包括索引和所述字符串在字符串池的 存储位置,所述索引为数字;
[0035] 将所述字符串转换为所述索引。
[0036] 根据本公开实施例的第二方面,提供一种可缩放矢量图形的绘制方法,所述方法 包括:
[0037] 获取可缩放矢量图形的压缩文件,所述压缩文件中包括数字格式的图形元素的绘 制ig息;
[0038] 根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢量图 形的图形元素的绘制信息,所述编码规则包括绘制信息与数字的对应关系;
[0039] 根据所述绘制信息绘制所述图形元素,得到所述可缩放矢量图形。
[0040] 可选的,所述编码规则包括图形元素与开始标记和结束标记的对应关系,所述开 始标记和结束标记分别用于表示图形元素的绘制信息的开始和结束;
[0041] 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括:
[0042] 获取开始标记和结束标记之间的数字;
[0043] 根据所述绘制信息与数字的对应关系,解码所述开始标记和结束标记之间的数 字,得到所述绘制信息。
[0044] 可选的,所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属 性名与数字的对应关系,以及属性值的数据类型与数字的对应关系;
[0045] 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括:
[0046] 根据所述图形元素名与数字的对应关系、所述属性名与数字的对应关系和属性值 的数据类型与数字的对应关系,获得图形元素名、属性名、属性值的数据类型和属性值,得 到所述绘制信息。
[0047] 可选的,所述绘制信息与数字的对应关系还包括:对象引用关系,所述对象引用关 系包括对象索引和所述引用对象的存储位置,所述对象索引为数字;
[0048] 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括:
[0049] 当判断所述数字为对象索引时,根据所述对象引用关系获取与所述数字对应的所 述引用对象的存储位置;
[0050] 根据所述引用对象的存储位置获取所述引用对象的绘制信息,得到所述图形元素 的绘制信息。
[0051] 可选的,所述绘制信息与数字的对应关系还包括:字符串引用关系,所述字符串引 用关系包括字符串索引和字符串在字符串池的存储位置,所述字符串索引为数字;
[0052] 所述根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢 量图形的图形元素的绘制信息,包括:
[0053] 当判断所述数字为字符串索引时,根据字符串引用关系获取与所述数字对应的所 述字符串在字符串池的偏移位置;
[0054] 根据所述字符串在字符串池的存储位置,从预创建的字符串池中获取所述字符 串,得到所述图形元素的绘制信息。
[0055] 可选的,所述根据所述绘制信息绘制出所述图形元素,包括:
[0056] 创建对象,所述对象为系统可绘制对象抽象类的派生类的对象;
[0057] 将所述绘制信息赋值给所述对象中的成员函数;
[0058] 加载所述对象,利用所述成员函数绘制出所述图形元素。
[0059] 根据本公开实施例的第三方面,提供一种可缩放矢量图形的压缩装置,所述装置 包括:
[0060]图形获取模块,被配置为获取待压缩的可缩放矢量图形;
[0061] 文件源码获取模块,被配置为获取所述可缩放矢量图形的文件源码;所述文件源 码中记录有图形元素的绘制信息;
[0062] 编码模块,被配置为将所述图形元素的绘制信息按预设的编码规则转换为数字, 获得所述可缩放矢量图形的压缩文件,所述编码规则包括绘制信息与数字的对应关系。
[0063] 可选的,所述编码规则中记录有图形元素与开始标记和结束标记的对应关系,所 述开始标记和结束标记分别用于在编码时表示图形元素的绘制信息的开始和结束;
[0064] 所述编码模块,包括:
[0065] 标记获取子模块,被配置为根据所述图形元素与开始标记和结束标记的对应关 系,获取所述图形元素对应的开始标记和结束标记;
[0066] 绘制信息数字获取子模块,被配置为根据所述绘制信息与数字的对应关系,获取 所述绘制信息对应的数字;
[0067] 第一记录子模块,被配置为记录所述开始标记和结束标记,并在所述开始标记和 结束标记之间记录所述绘制信息对应的数字。
[0068] 可选的,所述绘制信息包括图形元素名和图形元素的属性信息,所述属性信息包 括属性名、属性值的数据类型和属性值;
[0069] 所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属性名与 数字的对应关系,以及属性值的数据类型与数字的对应关系;
[0070] 所述绘制信息数字获取子模块,包括:
[0071] 元素名数字获取子模块,被配置为根据所述图形元素名与数字的对应关系,获取 所述图形元素名对应的数字;
[0072] 属性名数字获取子模块,被配置为根据所述属性名与数字的对应关系,获取所述 属性名对应的数字;
[0073] 数据类型数字获取子模块,被配置为根据所述属性值的数据类型与数字的对应关 系,获取所述属性值的数据类型对应的数字;
[0074] 所述第一记录子模块,包括:
[0075] 第二记录子模块,被配置为在所述开始标记和结束标记之间记录所述图形元素名 对应的数字、属性名对应的数字和属性值的数据类型对应的数字和所述属性值。
[0076] 可选的,所述绘制信息数字获取子模块,包括:
[0077]引用对象存储位置获取子模块,被配置为当所述绘制信息中包括引用对象标识 时,获取所述引用对象标识对应的引用对象的存储位置;
[0078] 对象引用关系创建子模块,被配置为创建对象引用关系,所述对象引用关系包括 对象索引和所述引用对象的存储位置,所述对象索引为数字;
[0079]引用对象标识转换子模块,被配置为将所述引用对象标识转换为所述对象索引。
[0080] 可选的,所述第二记录子模块,包括:
[0081] 显示样式属性信息记录子模块,被配置为当所述图形元素的属性信息中包括一个 或多个显示样式属性信息时,记录各个所述显示样式属性信息的属性名对应的数字和各个 所述显示样式属性信息的属性值作为预设的目标显示样式属性的属性值。
[0082] 可选的,所述第二记录子模块,包括:
[0083] 路径属性信息记录子模块,被配置为当所述图形元素的属性信息为路径属性信息 时,根据ASCII编码系统中记录的字符与数字的对应关系,将命令字符转换为对应的数字, 记录所述命令字符所对应的数字和所述命令字符对应的数据;其中,所述路径属性信息的 属性值包括命令字符和与所述命令字符对应的数据。
[0084] 可选的,所述第二记录子模块,包括:
[0085] 第一转换子模块,被配置为当所述属性值的数据类型为整型时,将所述属性值按 照LEB128编码格式转换为预设进制的数字;
[0086] 第二转换子模块,被配置为当所述属性值的数据类型为浮点型或双精度型时,将 所述属性值转换为十六进制数后,再按照LEB128编码格式转换为预设进制的数字。
[0087] 可选的,所述第二记录子模块,包括:
[0088] 字符串存储子模块,被配置为当所述属性值的数据类型为字符串时,将所述字符 串存储在预创建的字符串池中,获取所述字符串在所述字符串池中的存储位置;
[0089] 字符串引用关系创建子模块,被配置为创建字符串引用关系,所述字符串引用关 系包括索引和所述字符串在字符串池的存储位置,所述索引为数字;
[0090] 字符串转换子模块,被配置为将所述字符串转换为所述索引。
[0091] 根据本公开实施例的第四方面,提供一种可缩放矢量图形的绘制装置,所述装置 包括:
[0092] 压缩文件获取模块,被配置为获取可缩放矢量图形的压缩文件,所述压缩文件中 包括数字格式的图形元素的绘制信息;
[0093] 解码模块,被配置为根据预设的编码规则对所述压缩文件中的数字进行解码,获 得所述可缩放矢量图形的图形元素的绘制信息,所述编码规则包括绘制信息与数字的对应 关系;
[0094] 绘制模块,被配置为根据所述绘制信息绘制所述图形元素,得到所述可缩放矢量 图形。
[0095] 可选的,所述编码规则还包括图形元素与开始标记和结束标记的对应关系,以及 绘制信息与数字的对应关系;所述开始标记和结束标记分别用于表示图形元素的绘制信息 的开始和结束;
[0096] 所述解码模块,包括:
[0097] 数字获取子模块,被配置为获取开始标记和结束标记之间的数字;
[0098] 数字解码子模块,被配置为根据所述绘制信息与数字的对应关系,解码所述开始 标记和结束标记之间的数字,得到所述绘制信息。
[0099] 可选的,所述绘制信息与数字的对应关系包括:图形元素名与数字的对应关系、属 性名与数字的对应关系,以及属性值的数据类型与数字的对应关系;
[0100] 所述数字解码子模块,包括:
[0101] 第一绘制信息获得子模块,被配置为根据所述图形元素名与数字的对应关系、所 述属性名与数字的对应关系和属性值的数据类型与数字的对应关系,获取图形元素名、属 性名、属性值的数据类型和属性值,得到所述绘制信息。
[0102] 可选的,所述绘制信息与数字的对应关系还包括:对象引用关系,所述对象引用关 系包括对象索引和所述引用对象的存储位置,所述对象索引为数字;
[0103] 所述解码模块,包括:对象索引判断子模块,被配置为当判断所述数字为对象索引 时,根据对象引用关系获取与所述数字对应的所述引用对象的存储位置;
[0104] 引用对象绘制信息获得子模块,被配置为根据所述引用对象的存储位置获取所述 引用对象的绘制信息,得到所述图形元素的绘制信息。
[0105] 可选的,所述绘制信息与数字的对应关系还包括:字符串引用关系,所述字符串引 用关系包括字符串索引和字符串在字符串池的存储位置,所述字符串索引为数字;
[0106] 所述解码模块,包括:字符串索引判断子模块,被配置为当判断所述数字为字符串 索引时,根据字符串引用关系获取与所述数字对应的所述字符串在字符串池的存储位置;
[0107] 字符串获得子模块,被配置为根据所述字符串在字符串池的存储位置,从预创建 的字符串池中获取所述字符串,得到所述图形元素的绘制信息。
[0108] 可选的,所述绘制模块,包括:
[0109] 对象子模块,被配置为创建对象,所述对象为系统可绘制对象抽象类的派生类的 对象;
[0110] 赋值子模块,被配置为将所述绘制信息赋值给所述对象中的成员函数;
[0111] 绘制子模块,被配置为加载所述对象,利用所述成员函数绘制出所述图形元素。
[0112] 根据本公开实施例的第五方面,提供一种可缩放矢量图形的压缩装置,包括:
[0113] 处理器;
[0114] 用于存储处理器可执行指令的存储器;
[0115] 其中,所述处理器被配置为:
[0116] 获取待压缩的可缩放矢量图形;
[0117] 获取所述可缩放矢量图形的文件源码;所述文件源码中记录有图形元素的绘制信 息;
[0118] 将所述图形元素的绘制信息按预设的编码规则转换为数字,获得所述可缩放矢量 图形的压缩文件,所述编码规则包括绘制信息与数字的对应关系。
[0119] 根据本公开实施例的第六方面,提供一种可缩放矢量图形的绘制装置,包括:
[0120] 处理器;
[0121] 用于存储处理器可执行指令的存储器;
[0122] 其中,所述处理器被配置为:
[0123] 获取可缩放矢量图形的压缩文件,所述压缩文件中包括数字格式的图形元素的绘 制ig息;
[0124] 根据预设的编码规则对所述压缩文件中的数字进行解码,获得所述可缩放矢量图 形的图形元素的绘制信息,所述编码规则包括绘制信息与数字的对应关系;
[0125] 根据所述绘制信息绘制所述图形元素,得到所述可缩放矢量图形。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1