一种图形文件格式的使用方法及装置与流程

文档序号:11950371阅读:156来源:国知局
本发明实施例涉及存储
技术领域
:,特别涉及一种图形文件格式的使用方法及装置。
背景技术
::Java归档文件(英文:JavaArchive,缩写:JAR)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器工具直接使用。在JAR中包含特殊的文件,如部署描述符,用来指示工具如何处理特定的JAR文件。JAR文件中图形文件格式一般为PNG格式(即PortableNetworkGraphicFormat),而PNG格式的图片占用资源较大,因此如何对JAR文件占用资源进行精简优化是需要解决的问题。技术实现要素:本发明实施例提供一种图形文件格式的使用方法及装置,用以解决JAR文件中图片占用资源较大的问题。本发明实施例提供一种图形文件格式的使用方法,包括:确定待处理的资源文件,所述资源文件的存储格式为第一图形文件格式;对所述资源文件进行编译,生成目标文件,所述目标文件的存储格式为第二图形文件格式;其中,同一文件在所述第二图形文件格式时占用的资源小于在所述第一图形文件格式时占用的资源;将所述目标文件存储于JAR文件中。本发明实施例提供一种图形文件格式的使用装置,包括:确定单元,用于确定待处理的资源文件,所述资源文件的存储格式为第一图形文件格式;编译单元,用于对所述确定单元确定的所述资源文件进行编译,生成目标文件,所述目标文件的存储格式为第二图形文件格式;其中,同一文件在所述第二图形文件格式时占用的资源小于在所述第一图形文件格式时占用的资源;存储单元,用于将所述编译单元编译的目标文件存储于JAR文件中。本发明实施例提供一种图形文件格式的使用方法及装置,通过根据占用资源比较大的第一图形文件格式的资源文件,生成占用资源比较小的第二图形文件格式的目标文件,并存储在JAR文件中,使得JAR文件资源占用减小,降低了资源浪费,提高了资源使用效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明中图形文件格式的使用方法流程图;图2为本发明中图形文件格式的使用装置结构图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。鉴于现有的JAR文件中PNG格式的图片占用资源较大的问题,本申请实施例提供了一种图形文件格式的使用方法及装置,使得JAR文件能够使用占用内存较小的图形文件格式,从而减少了JAR文件的资源占用。下面结合附图对本申请实施例提供的图形文件格式的使用方法及装置作详细说明。参阅图1所示,本申请实施例提供的图形文件格式的使用方法流程如下。步骤101:确定待处理的资源文件,资源文件的存储格式为第一图形文件格式。步骤102:对资源文件进行编译,生成目标文件,目标文件的存储格式为第二图形文件格式。其中,同一文件在第二图形文件格式时占用的资源小于在第一图形文件格式时占用的资源。本申请实施例中可选的,第一图形文件格式为PNG格式,第二图形文件格式为.9.PNG格式。具体对资源文件进行编译生成目标文件的过程为:获取资源文件的可拉伸区域数据和不可拉伸区域数据;应用操作系统中的工具将可拉伸区域数据和不可拉伸区域数据写入目标文件中,操作系统支持第二图形文件格式的应用。具体地,将资源文件打包后存入操作系统的可执行文件中,其中,在存入过程中,操作系统执行将可拉伸区域数据和不可拉伸区域数据写入目标文件的过程,将可执行文件以压缩格式进行存储,将存储的可执行文件进行解压,提取出目标文件。举例来说,操作系统为Android系统,Android系统通过将PNG格式的资源文件打包进一个Android系统的可执行文件(如APK文件),在打包APK的过程中,Android系统会将PNG格式的资源文件的可拉伸区域数据和不可拉伸区域数据写入.9.PNG格式目标文件中。之后再将此打包的APK文件后缀修改为.ZIP。然后解压提取出.9.PNG格式的文件,就可以被正常使用了。步骤103:将目标文件存储于JAR文件中。将目标文件存储于JAR文件中之后,若接收到读取目标文件的命令,则解析出目标文件中的可拉伸区域数据和不可拉伸区域数据;根据解析出来的可拉伸区域数据和不可拉伸区域数据生成目标文件对应的可读内容。具体地,通过操作系统提供的接口加载目标文件;通过操作系统提供的接口获取可拉伸区域数据和不可拉伸区域数据;对可拉伸区域数据和不可拉伸区域数据进行序列化,生成序列化数据;根据序列化数据生成目标文件对应的可读内容。综上,本发明实施例提供的图形文件格式的使用方法,通过根据占用资源比较大的第一图形文件格式的资源文件,生成占用资源比较小的第二图形文件格式的目标文件,并存储在JAR文件中,使得JAR文件资源占用减小,降低了资源浪费,提高了资源使用效率。下面结合具体的应用场景对上述方法作进一步详细的说明。例如,上述第一图形文件格式为PNG格式,第二图形文件格式为.9.PNG格式,上述操作系统为安卓系统。.9.PNG是安卓(英文:Android)系统应用的一种特殊的图片格式,只支持在Android环境下的自适应展示,.9.PNG格式的图片在android环境下具有自适应调节大小的能力。.9.PNG格式的图片比PNG格式的图片占用的存储资源要小很多。但是JAR文件不属于Android系统支持的文件,若使用.9.PNG格式存储图片,不能实现.9.PNG格式的特点。具体来讲,通过Android系统的软件开发工具包(SoftwareDevelopmentKit,SDK)中工具(即tools)目录下的draw9patch.bat可执行程序将一个普通的.PNG格式文件经过处理得到一个.9.PNG格式文件。设置.PNG格式文件的可扩展区域和不可扩展区域。举例来说,可扩展区域的图形具有单一色素,所有像素点可被统一设置。不可扩展区域的图形具有多种色素,或者不需要被扩展的区域(如一个按钮上的文字)。Android系统支持对自身的安装文件(即.apk文件)里面的资源文件进行编译,所以在.apk文件里面的.9.PNG格式文件是可以直接使用的。但是JAR文件(即.JAR文件)不属于Android系统支持的文件,保证.9.PNG文件正常使用的前提就是,要将所设置的.PNG格式文件的可拉伸区域数据和非可拉伸区域数据写进.9.PNG格式文件中。首先建立一个Android工程,将准备使用的PNG格式的资源文件放到此工程的资源目录下(即drawable目录)。然后将此工程生成一个APK文件(即.apk文件)。在这个过程中,Android系统会将PNG格式的资源文件的可拉伸区域数据和不可拉伸区域数据写入.9.PNG格式文件中。之后再将此APK文件后缀修改为.ZIP。最后解压提取出.9.PNG格式的文件,此时的.9.PNG格式文件已经被编译过,并包含了可拉伸区域的数据和不可拉伸区域的数据,就可以直接使用了。将编译生成的.9.PNG文件存储到JAR文件中使用。当某程序读取文件时,需要调用JAR文件通过解析处理生成一个可以使用的文件内容。也就是需要从JAR文件中解析出.9.PNG里面的可拉伸区域的数据和不可拉伸区域的数据。然后在生成一个可使用的文件内容。具体解析处理过程为:通过Android系统提供的接口从assets目录中加载.9.PNG文件。(2)通过Android系统提供的接口获取.9.PNG图片里面的可拉伸区域的数据和不可拉伸区域的数据。(3)因为通过步骤(2)获取到的数据是不可以直接使用的,因此本步骤需要通过自定义的方法对数据进行序列化。(4)通过Android系统的类和步骤(3)提取出来的序列化数据来生成一个可以使用的.9.PNG格式文件,此文件在程序中的格式为可以使用的图片格式(例如NinePatchDrawable)。基于同一发明构思,参阅图2所示,本发明实施例还提供了一种图形文件格式的使用装置200,包括确定单元201、编译单元202和存储单元203,其中:确定单元201,用于确定待处理的资源文件,资源文件的存储格式为第一图形文件格式;编译单元202,用于对确定单元201确定的资源文件进行编译,生成目标文件,目标文件的存储格式为第二图形文件格式;其中,同一文件在第二图形文件格式时占用的资源小于在第一图形文件格式时占用的资源;存储单元203,用于将编译单元202编译的目标文件存储于JAR文件中。较佳的,编译单元202用于:获取资源文件的可拉伸区域数据和不可拉伸区域数据;将资源文件打包后存入操作系统的可执行文件中,其中,在存入过程中,操作系统执行将可拉伸区域数据和不可拉伸区域数据写入目标文件的过程,操作系统支持第二图形文件格式的应用;将可执行文件以压缩格式进行存储;将存储的可执行文件进行解压,提取出目标文件。较佳的,装置200还包括解析处理单元204,解析处理单元204用于:接收读取目标文件的命令;解析出目标文件中的可拉伸区域数据和不可拉伸区域数据;根据解析出来的可拉伸区域数据和不可拉伸区域数据生成目标文件对应的可读内容。较佳的,解析处理单元204用于:通过操作系统提供的接口加载目标文件;通过操作系统提供的接口获取可拉伸区域数据和不可拉伸区域数据;对可拉伸区域数据和不可拉伸区域数据进行序列化,生成序列化数据;根据序列化数据生成目标文件对应的可读内容。较佳的,第二图形文件格式为.9.PNG格式。为了描述的方便,以上各部分按照功能划分为各单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件或硬件中实现。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现图2所示的相关功能单元。具体实施时,处理器可以用于读取存储器中的程序,执行下列过程以实现图2所示的相关单元的功能。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1