CN103455336A - 用于生成/解析安装文件的设备和方法 - Google Patents

用于生成/解析安装文件的设备和方法 Download PDF

Info

Publication number
CN103455336A
CN103455336A CN2013104137070A CN201310413707A CN103455336A CN 103455336 A CN103455336 A CN 103455336A CN 2013104137070 A CN2013104137070 A CN 2013104137070A CN 201310413707 A CN201310413707 A CN 201310413707A CN 103455336 A CN103455336 A CN 103455336A
Authority
CN
China
Prior art keywords
file
primitives
graphic
attribute
padding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013104137070A
Other languages
English (en)
Inventor
李明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Netqin Technology Co Ltd
Original Assignee
Beijing Netqin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Netqin Technology Co Ltd filed Critical Beijing Netqin Technology Co Ltd
Priority to CN2013104137070A priority Critical patent/CN103455336A/zh
Publication of CN103455336A publication Critical patent/CN103455336A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种用于生成安装文件的设备,包括:选择单元,被配置为从图元库中选择需要的图元;组合单元,被配置为将所选择的图元进行组合;变换单元,被配置为对组合的图元进行变换以产生图形文件;属性定义单元,被配置为定义图形文件的填充属性;以及打包单元,被配置为将图形文件和填充属性打包以生成安装文件。本发明还提供了一种用于生成安装文件的方法。通过本发明,可以将应用中需要的大部分图像转换为图形,并在应用使用时动态绘制出来。生成安装文件时,仅仅打包图形的描述信息和填充属性,可以极大地降低应用的安装文件的尺寸。

Description

用于生成/解析安装文件的设备和方法
技术领域
本发明涉及信息处理领域,更具体地,涉及一种用于生成/解析安装文件的设备和一种用于生成/解析安装文件的方法。 
背景技术
在互联网上分发软件的安装文件时,一个重要的指标是安装文件的尺寸。尺寸增加将会延长用户下载的时间,甚至会放弃下载。 
安装文件中可以优化的一个主要部分是图像部分。为了解决这一问题,通常会考虑如下方案:1.在不影响视觉效果的前提下,尽量降低图像的分辨率;或者2.采用压缩算法压缩图像。 
上述技术方案可以在一定程度上降低软件的安装文件的尺寸,但却不能从根本上解决问题。这是因为当图像部分较大时,生成的安装文件仍然会很大。 
发明内容
为了解决上述问题,本发明提出了一种采用图形文件来替换图像文件的方案。当需要图像时,可以设计图形文件来代替图像,从而极大地减小安装文件的尺寸。 
具体地,根据本发明的第一方案,提供了一种用于生成安装文件的设备,包括:选择单元,被配置为从图元库中选择需要的图元;组合单元,被配置为将所选择的图元进行组合;变换单元,被配置为对组合的图元进行变换以产生图形文件;属性定义单元,被配置为定义图形文件的填充属性;以及打包单元,被配置为将图形文件和填充属性打包以生成安装文件。 
在一个实施例中,所述图元库能够以自定义方式而扩展。 
在一个实施例中,所述图元包括图元编码、图元的几何描述和二维 变换矩阵数据。 
在一个实施例中,所述图元还包括预留信息。 
在一个实施例中,所述变换单元被配置为对组合的图元进行平移变换和/或旋转变换。 
在一个实施例中,所述填充属性包括填充属性的编码和填充属性的描述。 
根据本发明的第二方案,提供了一种用于解析安装文件的设备,包括:读取单元,被配置为从安装文件中读取图形文件和图形文件的填充属性;生成单元,被配置为根据图形文件生成图形;以及填充单元,被配置为根据图形文件的填充属性对生成的图形进行填充。 
在一个实施例中,所述填充属性包括填充属性的编码和填充属性的描述。 
根据本发明的第三方案,提供了一种用于生成安装文件的方法,包括:从图元库中选择需要的图元;将所选择的图元进行组合;对组合的图元进行变换以产生图形文件;定义图形文件的填充属性;以及将图形文件和填充属性打包以生成安装文件。 
在一个实施例中,所述图元库能够以自定义方式而扩展。 
在一个实施例中,所述图元包括图元编码、图元的几何描述和二维变换矩阵数据。 
在一个实施例中,所述图元还包括预留信息。 
在一个实施例中,对组合的图元进行平移变换和/或旋转变换。 
在一个实施例中,所述填充属性包括填充属性的编码和填充属性的描述。 
根据本发明的第四方案,提供了一种用于解析安装文件的方法,包括:从安装文件中读取图形文件和图形文件的填充属性;根据图形文件生成图形;以及根据图形文件的填充属性对生成的图形进行填充。 
在一个实施例中,所述填充属性包括填充属性的编码和填充属性的描述。 
通过本发明,可以将应用中需要的大部分图像转换为图形,并在应 用使用时动态绘制出来。生成安装文件时,仅仅打包图形的描述信息和填充属性,可以极大地降低应用的安装文件的尺寸。 
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中: 
图1是示出了根据本发明的一个实施例的用于生成安装文件的设备的框图。 
图2是示出了根据本发明的一个实施例的用于解析安装文件的设备的框图。 
图3是示出了根据本发明的一个实施例的用于生成安装文件的方法的流程图。 
图4是示出了根据本发明的一个实施例的用于解析安装文件的方法的流程图。 
图5(a)-(c)是示出了根据本发明的一个实施例的生成安装文件的具体示例。 
在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记标识。 
具体实施方式
下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。 
图1是示出了根据本发明的一个实施例的用于生成安装文件的设备10的框图。如图1所示,设备10包括选择单元110、组合单元120、变换单元130、属性定义单元140和打包单元150。下面,对图1所示的设备10的各个组件进行详细描述。 
选择单元110被配置为从图元库中选择需要的图元。在本申请中,图元是指基本的图形,包含但不限于矩形、圆角矩形、圆、圆弧、文本 轮廓、椭圆等。图元库维护图元和图元绘制方法的对应关系。优选地,图元库可以以自定义方式而扩展。下面给出了一个示例图元库: 
Figure BDA0000381001450000041
Figure BDA0000381001450000051
其中图元编码用于标示一个具体的图元,其采用双字节编码,范围从0x0000-0xffff,其中0x0000-0xff为预留区,其他的码位为扩展区。 
图元名称为了方便阅读而使用。 
图元的几何描述用于定义该图元如何绘制。同时需要和绘制引擎里面的绘制算法相对应。如果需要扩展图元,同时需要扩展绘制引擎里面的绘制算法。 
图元存储时可以采用如下格式: 
图元编码图元的几何描述二维变换矩阵数据预留信息 
...... 
即,每行存储一个图元,属性之间中间采用空格分隔。其中前三项为必选数据,其他的数据为可选信息(可以存储在预留信息中)。 
同时定义如下的类MetaImage,用于对上述数据进行图形化。 
其中上述的图元都继承自MetaImage。当需要自定义图元时,以矩形为例,其需要继承MetaImage,如下: 
Figure BDA0000381001450000062
类似地,圆形对应的类如下: 
Figure BDA0000381001450000071
接下来,以图5(a)所示的常用的分享图标为例,对图1所示的设备10的各个组件的操作进行详细描述。 
可以看出,绘制图5(a)所示的图标需要的图元包括圆形和矩形。为此,选择单元110从图元库中选择圆形和矩形这两种图元。 
图5(b)为分享图标添加了坐标系。其中,两个坐标轴分别穿过两个圆的圆心。组合单元120被配置为将所选择的图元进行组合。变换单元130被配置为对组合的图元进行变换以产生图形文件。具体过程如下: 
首先,定义一个完整图形的数据结构如下: 
<meta> 
图元1 
图元2 
... 
图元N 
</meta> 
其中,<meta></meta>之间的部分用于描述一个完整的图形。而里面的每行数据的具体定义可参见上文对图元的数据结构的定义。 
参考图5(c),首先定义图元C的位置,圆心坐标为(0,3),半径为1;对应的图元定义如下: 
0x00020,3,10Circle 
其中不需要二维变换。对此情况,采用0标示。 
然后,定义图元F的坐标,圆心为(4,0),半径为1;对应的图元定义如下: 
0x00024,0,10Circle 
然后,定义一个矩形图元D’,坐标为(0,0.5,5,0),然后沿竖直方向向上平移3.25,最后以(0,3.25)为中心点沿顺时针方向旋转tan(3/4)度,即得到D。对应的图元定义如下 
0x00000,0.5,5,0matrix Rect 
其中matrix的定义为如下形式的二维变换矩阵: 
Figure BDA0000381001450000081
记为a,b,p,c,d,q,m,n,s 
上述变换过程由一个平移和一个旋转变换组成。其中, 
1 0 0 0 1 0 T x T y 1
为平移变换矩阵,Tx=0,Ty=3.25,而 
T RF = 1 0 0 0 1 0 - x F - y F 1 &CenterDot; cos &theta; sin &theta; 0 - sin &theta; cos &theta; 0 0 0 1 &CenterDot; 1 0 0 0 1 0 x F y F 1 = cos &theta; sin &theta; 0 - sin &theta; cos &theta; 0 x F - x F cos &theta; + y F sin &theta; y F - y F cos &theta; - x F sin &theta; 1
为旋转变换矩阵,xF=0,yF=3.25,θ=tan(3/4)。 
最终的变换矩阵为以上两个矩阵相乘得到的矩阵。 
接下来定义一个矩形图元B’,坐标为(0,0.5,5,0),然后沿竖直方向向上平移3.25。然后,以(0,3.25)为中心点沿逆时针方向旋转tan(3/4)度,即得到B。对应的图元定义可以参照上述图元的定义得出。 
最后,在以(4,6)为圆心处定义半径为1的圆,即得到A。对应的图元定义如下: 
0x00024,6,10Circle 
至此,可以得到所有的图元定义,从而可以确定<meta></meta>内部的数据,并最终生成图形文件。 
属性定义单元140被配置为定义图形文件的填充属性。例如, 
Figure BDA0000381001450000092
Figure BDA0000381001450000101
其中,预留区和扩展区的定义遵循图元的相应定义。对于填充属性,可以定义如下的结构来进行描述: 
填充属性编码 属性描述 预留信息 
对于图形的填充数据,定义如下结构进行描述。 
Figure BDA0000381001450000102
其中<attr></attr>和<meta></meta>成对出现,用于描述对应图形的填充属性。即,一个图形的完整定义形式如下: 
Figure BDA0000381001450000103
可以定义填充属性的基类FillBase如下: 
Figure BDA0000381001450000104
Figure BDA0000381001450000111
其他类继承自该类,以填充属性编码0x0000对应的Gradient为例,实现对应的填充属性实现类如下,其他属性编码对应的类实现方式于此相类似。 
Figure BDA0000381001450000112
例如,假设采用如下属性进行填充: 
Figure BDA0000381001450000113
那么,相应的填充构造代码如下: 
Figure BDA0000381001450000114
其中,上述的坐标(0,0),(100,100)并无具体意义。一般使用时,要取图形的最大外框。 
打包单元150被配置为将图形文件和填充属性打包,以生成最终的安装文件。 
通过本实施例,可以将应用中需要的大部分图像转换为图形,并在应用使用时动态绘制出来。生成安装文件时,由于仅仅打包图形的描述信息和填充属性,因而可以极大地降低应用的安装文件的尺寸。 
图2是示出了根据本发明的一个实施例的用于解析安装文件的设备20的框图。如图2所示,设备20包括读取单元210、生成单元220和填充单元230。 
读取单元210被配置为从安装文件中读取图形文件和图形文件的填充属性。 
生成单元220被配置为根据图形文件生成图形。 
填充单元230被配置为根据图形文件的填充属性对生成的图形进行填充。 
下面,仍以上文中的示例对图2所示的设备20的各个组件的操作进行详细描述。首先,读取单元210从安装文件中读取图形的描述信息和填充信息。然后,生成单元220将图形转换为对象并添加到路径(Path)中。最后,填充单元230填充属性并添加到Paint中,作为后续的填充属性使用。伪代码如下: 
Figure BDA0000381001450000121
Figure BDA0000381001450000131
其中,在构造函数中涉及提取图元和填充属性。以如下数据为例,说明具体的数据解析流程: 
Figure BDA0000381001450000133
首先定位<meta>标签,然后定位</meta>标签,将二者之间的数据读取出来。根据约定,每个图元的定义为一行数据,采用换行符将获取的数据进行分割,获得一个数组。遍历数组中的每一项,根据开头的编码,获取对应图元的类并进行实例化,然后读取后面的属性部分,以设置获得的对象的属性。填充属性的解析同图元的解析过程,在此不做赘述。 
最后,通过图形绘制和填充,得到最终的位图。其伪代码如下: 
Figure BDA0000381001450000132
Figure BDA0000381001450000141
整个设备20执行的过程的总体伪代码如下: 
Figure BDA0000381001450000142
Figure BDA0000381001450000151
图3是示出了根据本发明的一个实施例的用于生成安装文件的方法30的流程图。如图3所示,方法30在步骤S310处开始。 
在步骤S320处,从图元库中选择需要的图元。在本申请中,图元是指基本的图形,包含但不限于矩形、圆角矩形、圆、圆弧、文本轮廓、椭圆等。图元库维护图元和图元绘制方法的对应关系。优选地,图元库可以以自定义方式而扩展。 
在步骤S330处,将所选择的图元进行组合。 
在步骤S340处,对组合的图元进行变换以产生图形文件。 
在步骤S350处,定义图形文件的填充属性。例如,填充属性可以包括填充属性的编码和填充属性的描述。 
在步骤S360处,将图形文件和填充属性打包以生成安装文件。 
最后,方法30在步骤S370处结束。 
图4是示出了根据本发明的一个实施例的用于解析安装文件的方法40的流程图。如图4所示,方法40在步骤S410处开始。 
在步骤S420处,从安装文件中读取图形文件和图形文件的填充属性。在一个实施例中,填充属性可以包括填充属性的编码和填充属性的描述。 
在步骤S430处,根据图形文件生成图形。 
接下来,在步骤S440处,根据图形文件的填充属性对生成的图形进行填充。 
最后,方法40在步骤S470处结束。 
通过本发明,可以将应用中需要的大部分图像转换为图形,并在应用使用时动态绘制出来。生成安装文件时,仅仅打包图形的描述信息和填充属性,可以极大地降低应用的安装文件的尺寸。 
应该理解,本发明的上述实施例可以通过软件、硬件或者软件和硬件两者的结合来实现。例如,图1所示的设备10和图2所示的设备20内的各种组件可以通过多种器件来实现,这些器件包括但不限于:模拟电路、数字电路、通用处理器、数字信号处理(DSP)电路、可编程处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(CPLD),等等。 
另外,本领域的技术人员可以理解,本发明实施例中描述的数据可以存储在本地数据库中,也可以存储在分布式数据库中或者可以存储在远程数据库中。 
此外,这里所公开的本发明的实施例可以在计算机程序产品上实现。更具体地,该计算机程序产品是如下的一种产品:具有计算机可读介质,计算机可读介质上编码有计算机程序逻辑,当在计算设备上执行时,该计算机程序逻辑提供相关的操作以实现本发明的上述技术方案。当在计算系统的至少一个处理器上执行时,计算机程序逻辑使得处理器执行本发明实施例所述的操作(方法)。本发明的这种设置典型地提供为设置或编码在例如光介质(例如CD-ROM)、软盘或硬盘等的计算机可读介质上的软件、代码和/或其他数据结构、或者诸如一个或多个ROM或RAM或PROM芯片上的固件或微代码的其他介质、或一个或多个模块中的可下载的软件图像、共享数据库等。软件或固件或这种配置可安装在计算设备上,以使得计算设备中的一个或多个处理器执行本发明实施例所描述的技术方案。 
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的 改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。 

Claims (16)

1.一种用于生成安装文件的设备,包括:
选择单元,被配置为从图元库中选择需要的图元;
组合单元,被配置为将所选择的图元进行组合;
变换单元,被配置为对组合的图元进行变换以产生图形文件;
属性定义单元,被配置为定义图形文件的填充属性;以及
打包单元,被配置为将图形文件和填充属性打包以生成安装文件。
2.根据权利要求1所述的设备,其中,所述图元库能够以自定义方式而扩展。
3.根据权利要求1所述的设备,其中,所述图元包括图元编码、图元的几何描述和二维变换矩阵数据。
4.根据权利要求3所述的设备,其中,所述图元还包括预留信息。
5.根据权利要求1所述的设备,其中,所述变换单元被配置为对组合的图元进行平移变换和/或旋转变换。
6.根据权利要求1所述的设备,其中,所述填充属性包括填充属性的编码和填充属性的描述。
7.一种用于解析安装文件的设备,包括:
读取单元,被配置为从安装文件中读取图形文件和图形文件的填充属性;
生成单元,被配置为根据图形文件生成图形;以及
填充单元,被配置为根据图形文件的填充属性对生成的图形进行填充。
8.根据权利要求7所述的设备,其中,所述填充属性包括填充属性的编码和填充属性的描述。
9.一种用于生成安装文件的方法,包括:
从图元库中选择需要的图元;
将所选择的图元进行组合;
对组合的图元进行变换以产生图形文件;
定义图形文件的填充属性;以及
将图形文件和填充属性打包以生成安装文件。
10.根据权利要求9所述的方法,其中,所述图元库能够以自定义方式而扩展。
11.根据权利要求9所述的方法,其中,所述图元包括图元编码、图元的几何描述和二维变换矩阵数据。
12.根据权利要求11所述的方法,其中,所述图元还包括预留信息。
13.根据权利要求9所述的方法,其中,对组合的图元进行变换包括:对组合的图元进行平移变换和/或旋转变换。
14.根据权利要求9所述的方法,其中,所述填充属性包括填充属性的编码和填充属性的描述。
15.一种用于解析安装文件的方法,包括:
从安装文件中读取图形文件和图形文件的填充属性;
根据图形文件生成图形;以及
根据图形文件的填充属性对生成的图形进行填充。
16.根据权利要求15所述的方法,其中,所述填充属性包括填充属性的编码和填充属性的描述。
CN2013104137070A 2013-09-12 2013-09-12 用于生成/解析安装文件的设备和方法 Pending CN103455336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013104137070A CN103455336A (zh) 2013-09-12 2013-09-12 用于生成/解析安装文件的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013104137070A CN103455336A (zh) 2013-09-12 2013-09-12 用于生成/解析安装文件的设备和方法

Publications (1)

Publication Number Publication Date
CN103455336A true CN103455336A (zh) 2013-12-18

Family

ID=49737743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013104137070A Pending CN103455336A (zh) 2013-09-12 2013-09-12 用于生成/解析安装文件的设备和方法

Country Status (1)

Country Link
CN (1) CN103455336A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020113797A1 (en) * 2000-11-17 2002-08-22 Potter Scott T. Systems and methods for representing and displaying graphics
US6509906B1 (en) * 1999-04-29 2003-01-21 Autodesk, Inc. Display representations and streams for objects having authorable and dynamic behaviors and appearances
CN101582077A (zh) * 2009-06-24 2009-11-18 上海可鲁系统软件有限公司 一种二维矢量图形的空间索引方法及装置
CN101813789A (zh) * 2010-02-09 2010-08-25 徐胜利 一种地质图件的图例矢量化方法及装置
CN102023849A (zh) * 2009-09-22 2011-04-20 北京搜狗科技发展有限公司 一种多平台多分辨率应用程序界面的处理方法和装置
CN102368247A (zh) * 2011-09-16 2012-03-07 杭州典能科技有限公司 在手持终端上执行swf文件的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6509906B1 (en) * 1999-04-29 2003-01-21 Autodesk, Inc. Display representations and streams for objects having authorable and dynamic behaviors and appearances
US20020113797A1 (en) * 2000-11-17 2002-08-22 Potter Scott T. Systems and methods for representing and displaying graphics
CN101582077A (zh) * 2009-06-24 2009-11-18 上海可鲁系统软件有限公司 一种二维矢量图形的空间索引方法及装置
CN102023849A (zh) * 2009-09-22 2011-04-20 北京搜狗科技发展有限公司 一种多平台多分辨率应用程序界面的处理方法和装置
CN101813789A (zh) * 2010-02-09 2010-08-25 徐胜利 一种地质图件的图例矢量化方法及装置
CN102368247A (zh) * 2011-09-16 2012-03-07 杭州典能科技有限公司 在手持终端上执行swf文件的方法

Similar Documents

Publication Publication Date Title
US11373272B2 (en) Digital gradient signal processing system and method for signals comprising at least three dimensions
JP7234925B2 (ja) 情報処理装置および方法
TWI728266B (zh) 二維條碼生成、業務處理方法、裝置和設備以及二維條碼
US8660386B1 (en) Large-scale image processing using mass parallelization techniques
US9484006B2 (en) Manipulation of textual content data for layered presentation
US20080068383A1 (en) Rendering and encoding glyphs
US9280449B2 (en) HIT testing of visual objects
CN109684005B (zh) 图形界面中组件相似度确定方法及装置
CN104966265A (zh) 图形处理系统
US9058638B2 (en) Super resolution encoding screens that minimize affects of lossy compression and data variations
JP7368623B2 (ja) 点群処理の方法、コンピュータシステム、プログラム及びコンピュータ可読記憶媒体
JP2022037900A (ja) 圧縮データ・ストリームの並列展開
Haynes et al. Terra Populus’ architecture for integrated big geospatial services
US10403040B2 (en) Vector graphics rendering techniques
CN114627099A (zh) 图像分割方法、装置、计算机设备、存储介质和程序产品
Soliman et al. Keras Spatial: Extending deep learning frameworks for preprocessing and on-the-fly augmentation of geospatial data
Блинова et al. Steganographic method based on hidden messages embedding into Bezier curves of SVG images
Chen et al. Integrating an e-book software with vector graphic technology on cloud platform
CN115088017A (zh) 点云的树内几何量化
CN103455336A (zh) 用于生成/解析安装文件的设备和方法
US9092839B2 (en) Encoding of rasterised graphic objects
Rodríguez et al. Coarse-grained multiresolution structures for mobile exploration of gigantic surface models
KR101743868B1 (ko) 이미지 프로세싱 방법 및 그 시스템
US6760019B1 (en) Methods and apparatus for facilitating the sharing of computer graphics operations
US8340427B2 (en) Providing a symbol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131218

WD01 Invention patent application deemed withdrawn after publication