CN110119380B - 一种可缩放矢量图文件的存储、读取方法及装置 - Google Patents
一种可缩放矢量图文件的存储、读取方法及装置 Download PDFInfo
- Publication number
- CN110119380B CN110119380B CN201810028975.3A CN201810028975A CN110119380B CN 110119380 B CN110119380 B CN 110119380B CN 201810028975 A CN201810028975 A CN 201810028975A CN 110119380 B CN110119380 B CN 110119380B
- Authority
- CN
- China
- Prior art keywords
- file
- scalable vector
- vector graphics
- library
- vector map
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可缩放矢量图文件的存储、读取方法及装置,其中的存储方法包括:获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;将所述第二可缩放矢量图文件存储至所述库文件组织模型中。本发明解决了现有技术中SVG文件的存储和读取方式效率较低的技术问题。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种可缩放矢量图文件的存储、读取方法及装置。
背景技术
SVG标准(Scalable Vector Graphics可缩放矢量图)是用XML(ExtensibleMarkup Language可扩展标记语言)描述二维图形的一种矢量图形标准,由于不同品牌或者同一品牌不同型号的安卓手机分辨率的参差不齐,如果针对每一种分辨率做适配,则会使得手机应用内的图片资源暴增,并导致应用APK(AndroidPackage Android安装包)体积增大,不利于后期应用程序的迭代更新,由于可缩放矢量图文件(SVG文件)具有文件体积小、图形能够被放大或缩小、支持的颜色数量多、快速网络加载等优点,可以很好地适应安卓设备的多分辨率场景,因而得到了广泛的应用。
目前,安卓应用程序中,SVG文件主要是存储在drawable资源目录下,存储文件格式即为.XML,XML格式的矢量图可满足3种SVG图形类型标准:图形对象、样式、符号,目前上述3种标准类型的SVG文件,一般是根据SVG文件的写入顺序进行存储和读取,当SVG文件数量变得庞大时,应用程序在运行期间加载这些SVG文件时则会非常缓慢,尤其是对于运行内存(RAM)偏小的设备。
由此可见,现有技术中SVG文件的存储和读取方式效率较低的技术问题。
发明内容
本发明提供一种可缩放矢量图文件的存储、读取方法及装置,用以解决现有技术中SVG文件的存储和读取方式效率较低的技术问题。
第一方面,本发明提供了一种可缩放矢量图文件的存储方法,包括:
获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;
基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;
基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;
分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;
将所述第二可缩放矢量图文件存储至所述库文件组织模型中。
可选地,在所述将所述第二可缩放矢量图文件存储至所述库文件组织模型中之后,所述方法还包括;
生成所述第二可缩放矢量图文件的索引文件和库文件。
可选地,在所述将所述第二可缩放矢量图文件存储至所述库文件组织模型中后,所述方法还包括:
设置所述库文件组织模型的管理模型,其中,所述管理模型包括用于文件读取的文件接口和用于文件的增加和删除的库接口。
基于同样的发明构思,本发明第二方面提供了一种可缩放矢量图文件的读取方法,包括:
获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;
基于所述索引文件,获得所述可缩放矢量图文件的库文件;
基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
可选地,在所述从所述库文件组织模型中读取第二可缩放矢量图文件之后,所述方法还包括:
在第二可缩放矢量图文件中***头部和描述,获得原始可缩放矢量图文件。
基于同样的发明构思,本发明第三方面提供了一种可缩放矢量图文件的存储装置,包括:
获得模块,用于获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;
分类模块,用于基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;
归档模块,用于基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;
分割模块,用于分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;
存储模块,用于将所述第二可缩放矢量图文件存储至所述库文件组织模型中。
可选的,所述装置还包括生成模块,用于在所述将所述第二可缩放矢量图文件存储至所述库文件组织模型中之后:
生成所述第二可缩放矢量图文件的索引文件和库文件。
基于同样的发明构思,本发明第四方面提供了一种可缩放矢量图文件的读取装置,包括:
获取模块,用于获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;
获得模块,用于基于所述索引文件,获得所述可缩放矢量图文件的库文件;
读取模块,用于基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
基于同样的发明构思,本发明第五方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中的方法。
基于同样的发明构思,本发明第六方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以第一方面中的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例提供的一种可缩放矢量图文件的存储方法,首先基于可缩放矢量图文件的命名空间进行分类,可以对不同的可缩放矢量图文件进行区分,并基于框架对分类后的可缩放矢量图文件进行归档,可获得归档后的第一可缩放矢量图文件,并基于第一可缩放矢量图文件构建库文件组织模型,由于库文件组织模型是采用命名空间结合框架的形式进行处理的,可以很好地对各个缩放矢量图文件进行组织和分类,从而提高了存储效率,并且,本发明实施例中的方法还通过分割归档后的第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件,再将所述第二可缩放矢量图文件存储至所述库文件组织模型中,可以减少第二可缩放矢量图所占的空间,从而减少存储的空间,进一步提高存储效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1为本发明实施例中可缩放矢量图文件的存储方法的流程图;
图2为本发明实施例中可缩放矢量图文件的读取方法的流程图;
图3为本发明实施例中可缩放矢量图文件的存储装置的结构框图;
图4为本发明实施例中可缩放矢量图文件的读取装置的结构框图;
图5为本发明实施例中计算机可读存储介质的结构示意图;
图6为本发明实施例中计算机设备的结构示意图。
具体实施方式
本发明提供一种可缩放矢量图文件的存储、读取方法及装置,用以解决现有技术中SVG文件的存储和读取方式效率较低的技术问题。
本申请实施例中的技术方案,总体思路如下:
一种可缩放矢量图文件的读取方法,首先获取可缩放矢量图文件的索引文件,然后根据索引文件获得所述可缩放矢量图文件的库文件;最后基于索引文件和库文件,从库文件组织模型中读取第二可缩放矢量图文件。
在上述方法中,通过索引文件和库文件从库文件组织模型中获得可缩放矢量图文件,相对于现有的按照存储顺序来读取的方式,可以大大减少查找的时间,从而可以提高读取文件的效率,并且存储至库文件组织模型中的第二可缩放矢量图文件是通过分割归档后的第一可缩放矢量图文件的头部和描述后获得的,可以减少第二可缩放矢量图所占的空间,故而通过先获取分割后的第二可缩放矢量图文件的方式,再***头部和描述的方式获得需要的原始的可缩放矢量图文件的方式,可以进一步减少读取的时间,进而提高读取效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在具体介绍本发明实施例的具体实施方案前,下面对本发明可能涉及的专业术语进行简要介绍:
●SVG(Scalable Vector Graphics)可缩放矢量图,是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。它由万维网联盟制定,是一个开放标准。
●XML(Extensible Markup Language)可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
●CameraAndroid***提供的摄像头管理类,该类是用户驱动摄像头硬件进行图像采集的驱动类。
●View(视图)是Android***的一个超类,它是Android***应用层界面可视化的基本组件单元。
●SurfaceView视图(View)的继承类,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。
●SurfaceHolder一个SurfaceView的抽象接口,可以控制SurfaceView的大小和格式,以及在SurfaceView上编辑像素,和监视SurfaceView的改变。
●Activity(活动)安卓***的四大组件之一,Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。
●Service(服务)安卓***的四大组件之一,服务是不予用户直接交互的***组件,它长期运行在后台,例如音乐播放器播放音乐就是在Service中进行;
●Broadcast Reciver(广播接受者)安卓***的四大组件之一,广播通常用来进行应用进程内部线程间的通讯,或不同进程间的通讯。
●Content Provider(内容提供者)安卓***的四大组件之一,一般用于跨进程间的数据传递。
●Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。
●Process(进程)是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础;
●主线程(Main Thread)也叫做UI线程,指安卓***中应用运行时的主线程(MainThread),这个主线程负责向UI组件分发事件(包括绘制事件),该线程不能进行耗时操作(网络请求、数据库操作),否则容易引发ANR异常。
●子线程(Sub Thread)非***创建的线程一般称为子线程,通常为用户自行创建,该线程一般处理耗时操作,子线程的数量一般为CPU核心数*2。
●Bitmap(位图)扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。
●JPEG(Joint Photographic Experts Group)是在国际标准化组织(ISO)领导之下制定静态图像压缩标准的委员会,第一套国际静态图像压缩标准ISO 10918-1(JPEG)就是该委员会制定的;
●PNG(Portable Network Graphics)是一种无损压缩的位图图形格式,其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。
●RGB(RedAs Interger,GreenAs Integer,BlueAs Integer)一种色彩标准,是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色***之一。
●ARGB(AlphaAs Integer,GreenAs Integer,BlueAs Integer)一种色彩标准,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。
●ARGB888ARGB色彩标准中的一种,所形成的的图像被称作真彩色,每一色光以8为元表示,每个通道各有256级阶调,三色光交互增减,RGB三色光能在一个像素上最高显示24位1677万色(256*256*256=16,777,216)。
●YUV亦称YCrCb,Y代表色彩亮度,U代表色彩,V代表饱和度,YUV是一种色彩编码方式,是模拟彩色覅是制式的色彩空间,在现代彩色电视***中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到RGB;
●YUV422一种特殊的YUV色彩编码标准,422代表YUV的取值比例为4:2:2,表示UV分量采样减半,比如第一个像素采样Y,U,第二个像素采样Y,V,依次类推,这样每个点占用2个字节.二个像素组成一个宏像素。
●BGR(BlueAs Integer,GreenAsInteger,RedAs Integer)一种色彩标准,和RGB类似,只是将红色通道(Red)与绿色通道(Blue)做了交换,Blue变为高位色彩通道。
实施例一
本实施例提供了一种可缩放矢量图文件的存储方法,应用于安卓***,请参考图1,所述方法包括:
步骤S101:获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架。
具体来说,可缩放矢量图文件即SVG文件,是采用XML语言描述二维图形的一种文件。通常SVG文件包括下述组成部分:XML头(Header头部)、SVG命名空间(NameSpace)、SVG框架(Framework)、描述(Object Annotation and Description)和SVG图形对象(GraphicObject)。
步骤S102:基于所述命名空间对所述待处理的可缩放矢量图文件进行分类。
具体来说,为了更好地对不同的可缩放矢量图文件进行分类,可以基于命名空间进行分类,命名空间是一种文件标记方法,例如,有5个不同的SVG文件,则可以通过命名空间的方式区分出A、B、C、D、E 5个SVG文件,并进行相应的标记。
步骤S103:基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型。
具体来说,由于相同类型的SVG类型的命名空间相同,为了更好地对SVG文件进行管理,可以通过SVG框架对分类后的文件进行归档,SVG框架为SVG文件与其他SVG文件存在区别的唯一标识,因此可以将Framework+namespace的方式作为分类归档的标准,然后构建库文件组织模型。库文件组织模型可以为树形结构或者其他结构。
在具体的实施过程中,基于框架对分类后的可缩放矢量图文件进行归档,可以是,将上述5个SVG文件分别归档:AB归为一档,CDE归为一档。
步骤S104:分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件。
具体来说,由于SVG文件的头部和描述仅描述该文件的一些描述信息,本发明实施例通过将上述部分分割,可以减少SVG所占的空间,从而提高存储效率。
步骤S105:将所述第二可缩放矢量图文件存储至所述库文件组织模型中。
在一种可选实施方式中,在将所述第二可缩放矢量图文件存储至所述库文件组织模型中之后,所述方法还包括;
生成所述第二可缩放矢量图文件的索引文件和库文件。
具体来说,索引文件的每行包括文件或目录名,文件在库中的起始行号(beginline)、结束行号(endline),在具体的实施过程中,首先需要定义库文件索引格式,索引文件的格式如下:
Directoryname1beginline endline;
Filename1beginline endline;
Filename1beginline endline;
Directoryname2beginline endline;
……
FilenameN beginline endline;
其中,Directoryname1、Directoryname2表示文件夹名称,Filename1表示文件名称,beginline表示起始行号,endline表示结束行号。
在一种可选实施方式中,在将所述第二可缩放矢量图文件存储至所述库文件组织模型中后,所述方法还包括:
设置所述库文件组织模型的管理模型,其中,所述管理模型包括用于文件读取的文件接口和用于文件的增加和删除的库接口。
具体来说,为了对库文件组织模型进行管理,本发明还设置库文件组织模型的管理模型,因为库文件组织模型中大批量的SVG文件需要管理接口以供外部进行访问和处理。在具体的实施过程中,文件接口和库接口的实现如下所示:
interface SVGFile:SVGElement{
readonly attribute unsigned long SVGFilelength;
readonly attribute unsigned short SVGFilemode;
}
其中,SVGFile为文件接口类,SVGElement为文件接口类的子类,文件接口类中包含参数SVGFilelength(SVG文件长度)和参数SVGFilemode(SVG文件类型),参数SVGFilelength为只读类型的无符号长整型参数,参数SVGFilelength为只读类型的无符号长整型参数。
interface SVGFileLib:SVGFile{
readonly attribute unsigned long SVGFileNumber;
readonly attribute unsigned long FileName;
Bool ReadFile(Cstring Filename);
Bool WriteFile(Cstring Filename);
Bool DeleteFile(Cstring Filename);
Bool FindFile(Cstring Filename);
}
其中,SVGFileLib为库接口类,SVGElement为SVGFile类的子类,库接口类中包含参数SVGFileNumber(SVG文件数量)和参数FileName(SVG文件名称)、布尔类型的方法:读取文件方法ReadFile、写文件方法WriteFile、删除文件方法DeleteFile和查找文件方法FindFile。
在具体的实施过程中,可以采用Java与C++结合的语言进行实现,首先,通过文件标记法即命名空间对SVG文件进行分类,区分不同的SVG文件,然后通过框架标记归档分类后的SVG文件,从而构建出SVG的库文件组织模型;此外,通过设置库文件组织模型文件接口与库接口来对SVG文件进行管理;通过分割法分割SVG文件,从而提高了SVG文件的存储效率。
基于同样的发明构思,本发明还提供了一种可缩放矢量图文件的读取方法,具体参见实施例二。
实施例二
本发明实施例提供了一种可缩放矢量图文件的读取方法,请参见图2,该方法包括:
S201:获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;
在一种可选实施方式中,如果某个SVG文件不存在索引文件,则表明该SVG文件不在库文件组织模型中,则直接返回不存在该SVG文件的信息。
由于在实施例一中已经详细叙述了第一可缩放矢量图文件和库文件组织模型的获取过程,故在此不再赘述。
S202:基于所述索引文件,获得所述可缩放矢量图文件的库文件;
具体来说,索引文件由SVG文件存储至库文件组织模型中后生成,索引文件中包括SVG文件名称、起始行号和结束行号,通过索引文件可以获取到可缩放矢量图文件的库文件,其中库文件是SVG文件存储后的库信息文件,可以包括文件在库中的类型、库接口地址等信息。
S203:基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
在一种可选实施方式中,在从所述库文件组织模型中读取第二可缩放矢量图文件之后,所述方法还包括:
在第二可缩放矢量图文件中***头部和描述,获得原始可缩放矢量图文件。
具体来说,由于存储至库文件组织模型中的SVG文件是分割后的,则本实施中在获得第二可缩放矢量图文件后,需要补充头部及描述,从而获得完整的SVG文件。
当库文件组织模型为树形结构时,采用现有的方法查找或读取SVG文件时。一般是从树形结构的树梢点或者树根点开始搜索,直到找到相应文件为止,当库文件组织模型库中保存的文件数量很大时,现有的搜索方式效率很低,而采用本申请中索引文件的查找和读取方式可以大大提高查找的效率,从而提高读取SVG文件的效率。进一步地,在采用索引文件查找SVG文件时,还可以进一步结合二分查找法进行查找。
为了更清楚地描述本发明实施例中的SVG文件的读取方法,下面通过一个具体的示例进行详细说明,首先判断SVG文件是否存在索引文件,如果存在,则根据索引文件获得库文件,接着基于所述索引文件和库文件,从构建的库文件组织模型中读取第二可缩放矢量图文件,在读取文件的过程中还可以结合二分查找算法,从而进一步提高效率。
前述图1中实施例中的可缩放矢量图文件的存储方法的各种变化方式和具体实例同样适用于本实施例的读取方法,通过前述对可缩放矢量图文件的存储方法的详细描述,本领域技术人员可以清楚的知道本实施例中方法的实施方式,所以为了说明书的简洁,在此不再详述。
基于同样的发明构思,本发明还提供了一种与实施例一中可缩放矢量图文件的存储方法相对应的装置,具体参见实施例三。
实施例三
本发明实施例提供了一种可缩放矢量图文件的存储装置,请参见图3,该装置包括:
获得模块301,用于获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;
分类模块302,用于基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;
归档模块303,用于基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;
分割模块304,用于分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;
存储模块305,用于将所述第二可缩放矢量图文件存储至所述库文件组织模型中。
前述图1中实施例中的可缩放矢量图文件的存储方法的各种变化方式和具体实例同样适用于本实施例的装置,通过前述对可缩放矢量图文件的存储方法的详细描述,本领域技术人员可以清楚的知道本实施例中的装置,所以为了说明书的简洁,在此不再详述。
基于同样的发明构思,本发明还提供了一种与实施例二中可缩放矢量图文件的读取方法相对应的装置,具体参见实施例四。
实施例四
本发明实施例提供了一种可缩放矢量图文件的读取装置,请参见图4,该装置包括:
获取模块401,用于获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;
获得模块402,用于基于所述索引文件,获得所述可缩放矢量图文件的库文件;
读取模块403,用于基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
前述图2中实施例中的可缩放矢量图文件的读取方法的各种变化方式和具体实例同样适用于本实施例的装置,通过前述对可缩放矢量图文件的读取的详细描述,本领域技术人员可以清楚的知道本实施例中的装置,所以为了说明书的简洁,在此不再详述。
基于同样的发明构思,本发明还提供了一种与可缩放矢量图文件的存储方法相对应的计算机可读存储介质,具体参见实施例五
实施例五
本发明实施例提供了一种计算机可读存储介质500,请参见图5,其上存储有计算机程序511,该程序被处理器执行时实现实施一中的方法。
前述图1中实施例中的可缩放矢量图文件的存储方法的各种变化方式和具体实例同样适用于本实施例的计算机可读存储介质,通过前述对可缩放矢量图文件的存储方法的详细描述,本领域技术人员可以清楚的知道本实施例中的计算机可读存储介质,所以为了说明书的简洁,在此不再详述。
基于同样的发明构思,本发明还提供了一种与可缩放矢量图文件的存储方法相对应的计算机设备,具体参见实施例六。
实施例六
本发明实施例提供了一种计算机设备,请参见图6,包括存储器601、处理器602及存储在存储器601上并可在处理器上运行的计算机程序603,所述处理器602执行所述程序时实现实施一中的方法。
前述图1中实施例中的可缩放矢量图文件的存储方法的各种变化方式和具体实例同样适用于本实施例的计算机设备,通过前述对可缩放矢量图文件的存储方法详细描述,本领域技术人员可以清楚的知道本实施例中的计算机设备,所以为了说明书的简洁,在此不再详述。
同样的,本发明还包括与实施二中可缩放矢量图文件的读取方法相对应的计算机可读存储介质和计算机设备,在此不再赘述。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例提供的一种可缩放矢量图文件的存储和读取方法,首先基于可缩放矢量图文件的命名空间进行分类,可以对不同的可缩放矢量图文件进行区分,并基于框架对分类后的可缩放矢量图文件进行归档,可获得归档后的第一可缩放矢量图文件,并基于第一可缩放矢量图文件构建库文件组织模型,由于库文件组织模型是采用命名空间结合框架的形式进行处理的,可以很好地对各个缩放矢量图文件进行组织和分类,从而提高了存储效率,并且,本发明实施例中的方法还通过分割归档后的第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件,再将所述第二可缩放矢量图文件存储至所述库文件组织模型中,可以减少第二可缩放矢量图所占的空间,从而减少存储的空间,进一步提高存储效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种可缩放矢量图文件的存储方法,其特征在于,包括:
获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;所述框架为所述可缩放矢量图文件与其他可缩放矢量图文件存在区别的唯一标识;
基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;
基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;
分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;
将所述第二可缩放矢量图文件存储至所述库文件组织模型中;
生成所述第二可缩放矢量图文件的索引文件和库文件。
2.如权利要求1所述的方法,其特征在于,在所述将所述第二可缩放矢量图文件存储至所述库文件组织模型中后,所述方法还包括:
设置所述库文件组织模型的管理模型,其中,所述管理模型包括用于文件读取的文件接口和用于文件的增加和删除的库接口。
3.一种可缩放矢量图文件的读取方法,其特征在于,包括:
获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;所述框架为所述可缩放矢量图文件与其他可缩放矢量图文件存在区别的唯一标识;
基于所述索引文件,获得所述可缩放矢量图文件的库文件;
基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
4.如权利要求3所述的方法,其特征在于,在所述从所述库文件组织模型中读取第二可缩放矢量图文件之后,所述方法还包括:
在第二可缩放矢量图文件中***头部和描述,获得原始可缩放矢量图文件。
5.一种可缩放矢量图文件的存储装置,其特征在于,包括:
获得模块,用于获得多个待处理的可缩放矢量图文件,其中,所述可缩放矢量图文件包括命名空间和框架;所述框架为所述可缩放矢量图文件与其他可缩放矢量图文件存在区别的唯一标识;
分类模块,用于基于所述命名空间对所述待处理的可缩放矢量图文件进行分类;
归档模块,用于基于所述框架对分类后的可缩放矢量图文件进行归档,获得归档后的第一可缩放矢量图文件,并基于所述第一可缩放矢量图文件构建库文件组织模型;
分割模块,用于分割所述第一可缩放矢量图文件的头部和描述,获得第二可缩放矢量图文件;
存储模块,用于将所述第二可缩放矢量图文件存储至所述库文件组织模型中;
生成模块,用于生成所述第二可缩放矢量图文件的索引文件和库文件。
6.一种可缩放矢量图文件的读取装置,其特征在于,包括:
获取模块,用于获取可缩放矢量图文件的索引文件,其中,所述可缩放矢量图文件包括命名空间和框架,所述索引文件由所述可缩放矢量图文件存储至库文件组织模型后生成,所述库文件组织模型为基于归档后的第一可缩放矢量图文件构建获得,所述第一可缩放矢量图文件为基于所述框架对分类后的可缩放矢量图文件进行归档后获得,所述分类后的可缩放矢量图文件为基于所述命名空间对所述可缩放矢量图文件进行分类后获得;所述框架为所述可缩放矢量图文件与其他可缩放矢量图文件存在区别的唯一标识;
获得模块,用于基于所述索引文件,获得所述可缩放矢量图文件的库文件;
读取模块,用于基于所述索引文件和库文件,从所述库文件组织模型中读取第二可缩放矢量图文件,其中,所述第二可缩放矢量图文件由所述第一可缩放矢量图文件分割头部和描述后获得。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至权利要求2任一项所述的方法。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至权利要求2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810028975.3A CN110119380B (zh) | 2018-01-12 | 2018-01-12 | 一种可缩放矢量图文件的存储、读取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810028975.3A CN110119380B (zh) | 2018-01-12 | 2018-01-12 | 一种可缩放矢量图文件的存储、读取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119380A CN110119380A (zh) | 2019-08-13 |
CN110119380B true CN110119380B (zh) | 2022-02-22 |
Family
ID=67519115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810028975.3A Active CN110119380B (zh) | 2018-01-12 | 2018-01-12 | 一种可缩放矢量图文件的存储、读取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110119380B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599491A (zh) * | 2022-12-14 | 2023-01-13 | 西安纽扣软件科技有限公司(Cn) | Svg矢量图展现方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105427353A (zh) * | 2015-11-12 | 2016-03-23 | 小米科技有限责任公司 | 可缩放矢量图形的压缩、绘制方法及装置 |
US9582232B2 (en) * | 2014-06-30 | 2017-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, processing method, and storage medium for building a print application using a hybrid application |
CN107193791A (zh) * | 2017-05-16 | 2017-09-22 | 北京四方继保自动化股份有限公司 | 基于暂态数据交换通用格式的动作报告可视化展示方法 |
-
2018
- 2018-01-12 CN CN201810028975.3A patent/CN110119380B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582232B2 (en) * | 2014-06-30 | 2017-02-28 | Canon Kabushiki Kaisha | Information processing apparatus, processing method, and storage medium for building a print application using a hybrid application |
CN105427353A (zh) * | 2015-11-12 | 2016-03-23 | 小米科技有限责任公司 | 可缩放矢量图形的压缩、绘制方法及装置 |
CN107193791A (zh) * | 2017-05-16 | 2017-09-22 | 北京四方继保自动化股份有限公司 | 基于暂态数据交换通用格式的动作报告可视化展示方法 |
Non-Patent Citations (1)
Title |
---|
《基于SVG 的矢量图形库管理模型》;万本庭等;《计算机工程》;20060205;第32卷(第3期);65-67,78 * |
Also Published As
Publication number | Publication date |
---|---|
CN110119380A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11200426B2 (en) | Video frame extraction method and apparatus, computer-readable medium | |
RU2719368C2 (ru) | Инкапсуляция данных изображения | |
US8213747B2 (en) | Variable resolution images | |
US7933473B2 (en) | Multiple resolution image storage | |
US7978922B2 (en) | Compressing images in documents | |
US8319987B2 (en) | Image processing apparatus and control method for compressing image data by determining common images amongst a plurality of page images | |
CN101884221A (zh) | 用于对视频进行编码的***和方法 | |
US9286228B2 (en) | Facilitating caching in an image-processing system | |
CN108989704B (zh) | 图像生成方法和装置、终端设备 | |
JP2023112059A (ja) | 画像ファイル生成装置および方法、画像ファイル再生装置、プログラム | |
CN109272449A (zh) | 图片显示方法及装置、计算机装置及可读存储介质 | |
CN110119380B (zh) | 一种可缩放矢量图文件的存储、读取方法及装置 | |
US10032290B2 (en) | Method for synthesizing dynamic virtual figures | |
CN110971958A (zh) | 直播礼物横幅逐帧动画展示方法、存储介质、设备及*** | |
CN110457264B (zh) | 会议文件处理方法、装置、设备及计算机可读存储介质 | |
CN113742284A (zh) | 一种基于Java将OFD文件转换为图片的方法及*** | |
US8161086B2 (en) | Recording device, recording method, computer program, and recording medium | |
KR101652740B1 (ko) | 이미지 처리 시스템, 이미지 복원 시스템 및 그 방법 | |
CN117671042A (zh) | 贴图资源的压缩方法和装置、存储介质及电子设备 | |
CN111158564B (zh) | 一种还原PowerPoint中图片裁剪效果的方法及终端 | |
CN1551210A (zh) | 用于存储与菜单数据相关的附加数据的方法 | |
JP4375199B2 (ja) | 画像処理装置およびプログラム | |
WO2023050423A1 (zh) | 图像处理方法、设备和存储介质 | |
CN112182458B (zh) | 一种页面数据处理方法及装置 | |
WO2023127366A1 (ja) | 画像ファイル変換方法、画像ファイル変換装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |