一种拼合图片资源的方法及图片资源拼合装置与流程

文档序号:12603961阅读:244来源:国知局
本发明涉及计算机应用技术,尤其涉及一种拼合图片资源的方法及图片资源拼合装置。
背景技术
::随着电子技术以及计算机应用技术的成熟,大量的智能设备,例如,数码相机、平板电脑、智能移动电话、个人计算机(PC,PersonalComputer)中装载有大量的应用程序,能够在日常生活中为广大用户带来极大的便利。其中,应用程序的开发人员为了满足用户不断增长的界面美感需求,需要在该应用程序的代码编写过程中,使用大量的图片资源,以使应用程序界面美观、动画流畅。以应用程序加载可执行文件对应的界面为例,可执行文件是指在特定操作系统上面,可以被该操作系统运行的文件,包含由多个不同逻辑单元(例如资源段、代码段、常量段)组合在一起的可执行文件段(节),其中,资源段又包括:对话框、快捷键、菜单、字符串、版本信息以及图片资源等。由于在可执行文件加载(运行)过程中需要使用大量的图片资源,图片资源的大量使用会使得可执行文件的资源段的容量增大非常多,所需资源空间大,从而导致可执行文件非常大。而大容量的资源段不仅导致应用程序在启动时速度非常慢,还需要消耗操作系统的大量内存、内核对象等资源,导致智能设备中各应用程序运行缓慢,运行效率低,降低了用户的业务体验。为了提升应用程序在加载图片资源时导致的系统运行效率较低的技术问题,现有技术提出了对应用程序使用的图片资源进行拼合的方法,即通过第三方的压缩工具,例如,WinRAR、WinZip等压缩工具分别对可执行文件中的各可执行文件文件段进行压缩,再将压缩得到的各可执行文件段组合在一起存放在可执行文件中。这样,可有效压缩可执行文件大小,但由于是压缩处理,因而,在应用程序启动运行时,需要对各压缩文件分别进行解压缩,然后才能基于解压缩得到的各文件运行,还是使得系统运行效率较低。为了能够较优地提升系统的运行效率,提出的改进方法是通过降低图片资 源的清晰度以减少图片资源大小,从而有效缩小资源段,这样,较小容量的资源段可以提升应用程序在启动时的速度,并减少消耗的操作系统内存、内核对象等资源。但该方法,由于降低了图片资源的清晰度,使得应用程序界面显示的图片资源模糊,应用程序界面显示质量较低,影响用户的视觉体验。技术实现要素:有鉴于此,本发明实施例提供一种拼合图片资源的方法及图片资源拼合装置,提升应用程序界面显示质量以及系统运行效率。为达到上述目的,本发明的实施例采用如下技术方案:一方面,本发明实施例提供一种拼合图片资源的方法,包括:获取应用程序运行所需的图片资源,按照预先设置的图片尺寸阈值调整获取的图片资源,得到调整的图片资源;设置一空白图片模板,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板,所述空白图片子模板的尺寸与所述图片尺寸阈值相同,所述空白图片子模板数量不小于所述应用程序运行所需的图片资源数量;依次将调整的图片资源置于空白图片模板中的空白图片子模板中,构建空白图片子模板与置于该空白图片子模板中的所述调整的图片资源的映射关系,生成拼合的图片资源;在应用程序加载图片资源时,依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载。本发明实施例提供的拼合图片资源的方法,通过按照预先设置的图片尺寸阈值调整图片资源,将调整的图片资源分别置于以分割线分割的空白图片模板中,从而可以对重复的图片资源信息头进行删减以合并同一空白图片模板中的多张图片资源。这样,能够在不降低图片资源清晰度的情况下,合理的拼合各图片资源,并通过对重复的图片资源信息头进行删减,使得可执行文件的资源段大幅度减小,能够在保持应用程序界面显示质量较高的情况下,有效节约应用程序运行加载图片资源所需的时间,有利于应用程序运行效率以及系统运行 效率的提升。另一方面,本发明实施例提供一种图片资源拼合装置,包括:图片资源调整模块、模板设置模块、拼合模块以及识别加载模块,其中,图片资源调整模块,用于获取应用程序运行所需的图片资源,按照预先设置的图片尺寸阈值调整获取的图片资源,得到调整的图片资源;模板设置模块,用于设置一空白图片模板,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板,所述空白图片子模板的尺寸与所述图片尺寸阈值相同,所述空白图片子模板数量不小于所述应用程序运行所需的图片资源数量;拼合模块,用于依次将调整的图片资源置于空白图片模板中的空白图片子模板中,构建空白图片子模板与置于该空白图片子模板中的所述调整的图片资源的映射关系,生成拼合的图片资源;识别加载模块,用于在应用程序加载图片资源时,依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载。本发明实施例提供的图片资源拼合装置,图片资源调整模块通过按照预先设置的图片尺寸阈值调整图片资源,模板设置模块将调整的图片资源分别置于以分割线分割的空白图片模板中,拼合模块对重复的图片资源信息头进行删减以合并同一空白图片模板中的多张图片资源,识别加载模块识别拼合的图片资源中确定的分割线,提取以识别的分割线标识的图片资源进行加载。这样,能够在不降低图片资源清晰度的情况下,合理的拼合各图片资源,并通过对重复的图片资源信息头进行删减,使得可执行文件的资源段大幅度减小,能够在保持应用程序界面显示质量较高的情况下,有效节约应用程序运行加载图片资源所需的时间,有利于应用程序运行效率以及系统运行效率的提升。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本发明实施例拼合图片资源的方法流程示意图;图2为本发明实施例经调整后的图片资源示意图;图3为本发明实施例依据调整后的图片资源生成拼合的图片资源示意图;图4为本发明实施例的图片资源拼合装置结构示意图。具体实施方式下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图1为本发明实施例拼合图片资源的方法流程示意图。参见图1,该方法包括:步骤101,获取应用程序运行所需的图片资源,按照预先设置的图片尺寸阈值调整获取的图片资源,得到调整的图片资源;本步骤中,图片资源的格式包括:位图(BMP,Bitmap)格式、联合图片资源专家小组(JPEG,JointPhotographicExpertsGroup)格式、图片资源互换格式(GIF,GraphicsInterchangeFormat)、标签图片资源文件格式(TIFF,TaggedImageFileFormat)、可移植网络图形格式(PNG,PortableNetworkGraphicFormat)等。其中,BMP格式的图片资源是Windows位图,可以用任何颜色深度(从黑白颜色到24位颜色)存储单个光栅图片资源,属于Windows原生支持,缺点是不支持文件压缩,占用存储空间较大;JPEG格式的图片资源以24位颜色存储单个光栅图片资源,JPEG格式是与平台无关的格式,可以支持最高级别的压缩,其中,该压缩是有损耗的,会丢失一部分图片资源信息;GIF格式的图片资源以8位颜色或256位颜色存储单个光栅图片资源数据或 多个光栅图片资源数据。GIF图片资源支持透明度、压缩、交错和多图片资源图片,由于GIF图片资源最大仅支持256色(256位颜色),因而,能够展现的图片资源信息较少;TIFF格式的图片资源可以任何颜色深度存储单个光栅图片资源,是印刷行业中的标准图片资源格式,因而在应用程序开发上使用很少;PNG格式是一种能存储32位信息的位图文件格式,在压缩位图图片资源数据时,采用LZ77算法的一个变种算法,是一种无损压缩,支持alpha通道(支持背景透明、支持半透明色),同时能够支持最多约1600万色,图片资源信息展现丰富、细腻。较佳地,本发明实施例中,图片资源使用PNG格式的图片资源,对于图片资源为非PNG格式的,可以通过图片资源转换,将非PNG格式图片资源转换为PNG格式的图片资源,关于图片资源转换,为公知技术,在此略去详述。当然,实际应用中,也可以对非PNG格式的图片资源不进行转换。本发明实施例中,以PNG图片资源为例,以代码方式存储的每一PNG格式的图片资源信息包括:文件头数据块(IHDR,HeaderChunk)、调色板数据块(PLTE,PaletteChunk)、图片资源数据块(IDAT,ImageDataChunk)以及图片资源结束数据块(IEND,ImageTrailerChunk)等段,其中,文件头数据块为存储的文件头,即图片资源文件头,是图片资源信息的第一块,包含有PNG图片资源(文件)中存储的图片资源数据的基本信息;调色板数据块用于定义图片资源的调色板信息,包含有与索引彩色图片资源(Indexed-ColorImage)相关的彩色变换数据(调色板信息),仅与索引彩色图片资源相关,位于图片资源数据块之前;图片资源数据块为图片资源数据部分,存储实际的图片资源数据,即图片资源中各像素点的像素(颜色)值,在数据流中可包含多个连续顺序的图片资源数据块;图片资源结束数据为图片资源(文件)结尾,用于标记PNG图片资源(文件)或者数据流已经结束,为图片资源(文件)信息的尾部。本发明实施例中,关于其他格式的图片资源信息包含的内容,为公知技术, 在此略去详述。本发明实施例中,预先设置的图片尺寸阈值可以根据后续应用程序加载界面展示的图片资源尺寸来确定。例如,对于应用程序加载界面展示的图片资源为多种尺寸的情形,可以相应设置多个图片尺寸阈值,每一图片尺寸阈值映射一个或多个图片资源。其中,作为一可选实施例,加载界面展示的图片资源尺寸与图片尺寸阈值成正比例关系。实际应用中,在获取图片资源后,可以依据应用程序开发中设置的加载界面展示的图片资源尺寸,对获取的图片资源进行相应调整。例如,应用程序运行所需的图片资源包括图片1~图片4,其中,对于图片1以及图片2,设置的图片尺寸阈值为20×40,对于图片3,设置的图片尺寸阈值为20×60,对于图片4,设置的图片尺寸阈值为30×30,则按照预先设置的图片尺寸阈值调整获取的图片资源后,依序得到20×40、20×40、20×60以及30×30的四张调整的图片资源。本发明实施例中,调整的图片资源尺寸可以大于应用程序运行的对应图片资源尺寸,也可以小于或等于应用程序运行的对应图片资源尺寸。本发明实施例中,在对图片资源进行缩放调整时,不降低图片资源的清晰度。步骤102,设置一空白图片模板,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板,所述空白图片子模板的尺寸与所述图片尺寸阈值相同,所述空白图片子模板数量不小于所述应用程序运行所需的图片资源数量;本步骤中,通过统计并分析大量图片资源图片信息的各分段信息,结果表明除涉及图片资源数据部分之外的分段,对于同一图片资源格式以及尺寸大小的图片资源,具有相同的信息。以PNG格式的图片资源信息为例,由于只有图片资源数据块(IDAT段)是真实的图片资源数据部分,即显示的以供用户浏览的图片资源,其余块,例如,文件头数据块、调色板数据块以及图片资源结束数据块分别用于标记PNG格式的图片资源头部信息、调色板数据、图片资源结束数据,因而,对于多个PNG格式的图片资源,文件头数据块、调色板数据块以及图片资源结束数据块是完全相同的重复部分。本发明实施例中,考虑到一PNG格式的图片资源信息包含有一文件头数据块、一调色板数据块以及一图片 资源结束数据块,因而,如果将多个PNG格式的图片资源置于PNG格式的一空白图片模板中,即将各图片资源(各图片资源状态图)拼合到一图片资源中。这样,可以将多个PNG格式的图片资源图片信息中的文件头数据块、调色板数据块以及图片资源结束数据块进行合并,即只需保留一个PNG格式的图片资源图片信息的文件头数据块、调色板数据块以及图片资源结束数据块即可,从而也可以有效减少图片资源的数量以及图片资源尺寸,使得拼合后的图片资源容量较小,从而在应用程序启动并加载该图片资源时,可以提升应用程序的启动(加载)速度,并减少消耗的操作系统内存、内核对象等资源,有效提升应用程序界面显示质量以及系统运行效率。本发明实施例中,对于BMP、JPEG、GIF、TIFF、PNG等格式的图片资源,在计算机中以点阵图的方式进行展示及处理,在点阵图中,图片资源由多个点组成,每个点即为图片处理软件(例如,PS,PhotoShop)中的像素点,每一像素点由一个n位的颜色值进行标识。因而,在点阵图中,图片资源由多个有颜色值的点(像素点)依序排列而成,每一像素点具有一像素值(颜色值)。其中,像素点的颜色值是将红(Red)、绿(Green)、蓝(Blue)三种颜色即RGB颜色按照不同的比例合成的值。本发明实施例中,对于图片资源格式为PNG格式的情形,由于PNG支持透明背景,具有一个alpha通道,因而,对于PNG图片资源,像素点的颜色值是由ARGB颜色值组成。本发明实施例中,预定义的分割线可以根据实际需要进行设置,例如,可以设置分割线对应的像素点的ARGB颜色值为(255,84,86,80),即分割线在空白图片模板中的每一像素点的ARGB颜色值为(255,84,86,80),当然,实际应用中,分割线对应的像素点的ARGB颜色值只要设置为与图片资源对应的像素点的ARGB颜色值不同即可。较佳地,分割线的宽度为一像素点。作为一可选实施例,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板包括:获取所有图片尺寸阈值在高度上的高度种类,以预定义的分割线将所述空白图片模板划分为多行,每一行对应一高度种类;获取所有图片尺寸阈值在宽度上的宽度种类,以预定义的分割线将所述空白图片模板划分为多列,每一列对应一宽度种类。本发明实施例中,作为一可选实施例,可以采用水平三宫格、垂直三宫格、九宫格等方式,利用分割线分割空白图片模板,分别形成包含三个横向排列的空白图片子模板、三个纵向排列的空白图片子模板、纵横交错排列的九个空白图片子模板九宫格的空白图片模板。其中,水平三宫格包括上、中、下三部分,其中,较佳地,上部分以及下部分按照1∶1进行绘制,中间部分按照图片资源的水平需要,例如,按照绘制目地区域的单方向的大小拉伸绘制;垂直三宫格包括左、中、右三部分,其中,较佳地,左部分以及右部分按照1∶1进行绘制,中间部分按照图片资源的竖直需要,例如,按照绘制目地区域的单方向的大小拉伸绘制;九宫格绘制可以将三个三宫格进行叠加得到,其特殊的一个宫格为中间宫格的绘制方法,其绘制是水平和垂直两个方向上按照绘制目地区域拉伸绘制。本发明实施例中,通过设置一空白图片模板,并将空白图片模板分割为多个空白图片子模板,每一空白图片子模板能够容纳一图片资源。这样,空白图片模板只需一个文件头数据块、调色板数据块以及图片资源结束数据块,通过将各图片资源拼合在空白图片模板的对应空白图片子模板中,使得容纳在该空白图片模板的各空白图片子模板中的图片资源可以共享一个文件头数据块、调色板数据块以及图片资源结束数据块,从而有效减少图片资源的数量以及图片资源尺寸,使得拼合后的图片资源容量较小。步骤103,依次将调整的图片资源置于空白图片模板中的空白图片子模板中,构建空白图片子模板与置于该空白图片子模板中的所述调整的图片资源的映射关系,生成拼合的图片资源;本步骤中,作为一可选实施例,将调整的图片资源置于空白图片模板中的空白图片子模板包括:A11,在调整的图片资源中,获取等宽的图片资源,并将获取的等宽图片资源置于该等宽对应的空白图片模板所在列的空白图片子模板中;本步骤中,对于图片尺寸阈值设置为多个的情形,可能具有多种等宽的图片资源以及多种等高的图片资源,相对应地,在空白图片模板中,也被划分为多种等宽的空白图片子模板列以及多种等高的空白图片子模板行,在每一空白图片子模板列中,宽度相等,不同列的空白图片子模板的宽度可以相同,也可以不同,在每一空白图片子模板行中,高度相等,不同行的空白图片子模板的高度可以相同,也可以不同。A12,获取等高的图片资源,并将获取的等高图片资源置于该等高的图片资源的高度种类对应的空白图片模板所在行的空白图片子模板中。本发明实施例中,作为一可选实施例,构建空白图片子模板与置于该空白图片子模板中的所述调整的图片资源的映射关系包括:A21,按照预先设置的规则对以分割线分割的空白图片子模板进行标识;本步骤中,例如,对于以分割线将空白图片模板划分为9个空白图片子模板的情形,可以按照从左至右,从上至下的顺序,将空白图片子模板依序标识为1~9。其中,标识为3的空白图片子模板,表示位于空白图片模板中的第一行第三列(也可以由第一行分割线和第二列分割线进行标识),标识为4的空白图片子模板,表示位于空白图片模板中的第二行第一列(也可以由第一行分割线、第二行分割线和第一列分割线进行标识)。作为一可选实施例,该方法还可以进一步包括:获取标识的空白图片子模板在所述空白图片模板中的位置信息。本步骤中,由于分割线占据一像素点,对于标识为1的空白图片子模板,在空白图片模板中的窗口尺寸(位置信息)为(0,0;20,40),对于标识为2的空白图片子模板,窗口尺寸为(22,0;42,40),对于标识为3的空白图片子模板,窗口尺寸为(44,0;64,40),对于标识为4的空白图片子模板,窗口尺寸为(0,40;20,100)等。A22,构建标识的空白图片子模板与置于该空白图片子模板中的所述调整的图片资源标识的映射关系。本步骤中,如果空白图片子模板标识为1,置于该空白图片子模板中的所述调整的图片资源的标识为A,则映射关系为:1→A或1(0,0;20,40)→A。本发明实施例中,以PNG图片资源为例,拼合的图片资源信息包括:一文件头数据块、一调色板数据块、顺序相连的多个图片资源数据块以及一图片资源结束数据块。图2为本发明实施例经调整后的图片资源示意图;图3为本发明实施例依据调整后的图片资源生成拼合的图片资源示意图。参见图2和图3,经调整后的图片资源数量共8张,拼合的图片资源采用九宫格方式。步骤104,在应用程序加载图片资源时,依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载。本步骤中,所述依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载包括:依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,确定得到的空白图片子模板对应的分隔线,识别拼合的图片资源中所述确定的分割线,提取所述拼合的图片资源中以识别的分割线标识的图片资源进行加载。本发明实施例中,如果待加载图片资源标识为A,映射关系集中存在:1(0,0;20,40)→A的映射关系,则可以确定待加载图片资源所在的空白图片子模板标识为1,依据空白图片子模板标识规则,可以确定标识为1的空白图片子模板对应的分隔线为第一行分割线和第一列分割线。再例如,如果确定待加载图片资源所在的空白图片子模板标识为2,可以确定标识为2的空白图片子模板对应的分隔线为第一行分割线、第一列分割线以及第二列分割线。作为一可选实施例,识别拼合的图片资源中确定的分割线,提取所述拼合的图片资源中以识别的分割线标识的图片资源包括:B11,依据确定的分隔线,获取循环开始像素点,所述循环开始像素点的横向位置信息为待提取图片资源的第一横坐标信息,纵向位置信息为待提取图片资源的第一纵坐标信息;本步骤中,对于确定的分隔线为第一行分割线和第一列分割线的情形,其循环开始像素点为拼合的图片资源的原点(像素点),即(0,0);对于确定的分隔线为第一行分割线、第一列分割线以及第二列分割线的情形,其循环开始像素点为上述的(22,0)像素点。本发明实施例中,循环开始像素点的横向位置信息为待提取图片资源的第一横坐标信息,纵向位置信息为待提取图片资源的第一纵坐标信息。B12,依序获取循环开始像素点所在行前方的各像素点的像素值,判断获取的像素值是否与预先设置的分割线像素阈值相同,直至找到与分割线像素阈值相同的像素点,记录与分割线像素阈值相同的像素点的前一像素点的横向位置信息,得到待提取图片资源的第二横坐标信息;本步骤中,以循环开始像素点所在行的下一像素点作为起始像素点,判断获取的该像素点的像素值是否与预先设置的分割线像素阈值相同,如果相同,记录该像素点的前一像素点的位置信息,如果不同,获取下一像素点的像素值进行判断,直至找到与分割线像素阈值相同的像素点,记录与分割线像素阈值相同的像素点的前一像素点的横向位置信息,然后,返回循环开始像素点。B13,依序获取循环开始像素点所在列下方的各像素点的像素值,判断获取的像素值是否与预先设置的分割线像素阈值相同,直至找到与分割线像素阈值相同的像素点,记录与分割线像素阈值相同的像素点的前一像素点的位置信息,得到待提取图片资源的第二纵坐标信息;B14,提取所述拼合的图片资源中位于第一横坐标信息、第一纵坐标信息以及第二横坐标信息、第二纵坐标信息之间的各像素点的像素值。本步骤中,通过识别以分割线为隔断的各图片资源,可以将识别出的图片资源(由各像素点的像素值组成)进行加载。本发明实施例中,作为另一可选实施例,在所述提取所述拼合的图片资源中以识别的分割线标识的图片资源之后,该方法还可以进一步包括:依据提取的图片资源,生成加载界面所需的各状态图片资源后执行所述加载。本步骤中,在提取图片资源后,可以根据人机交互需要的各种状态,生成 状态图片资源。其中,状态图片资源包括:正常状态(NORMAL)图片资源、鼠标移动上去的状态(HOT)图片资源、鼠标按下的状态(PUSHED)图片资源等。本发明实施例中,对于图片资源(包括各种状态的图片资源)的识别,只需要寻找预先设置的作为分割线的像素点,就能得到各图片资源在拼合的图片资源中的位置。例如,在应用程序开发中,首先约定好分割线的ARGB颜色值为(255,84,86,80),然后,在应用程序开发代码中,从拼合的图片资源的位置原点横向开始,循环比对每一个像素点的像素(颜色)值,如果该像素点的像素(颜色)值与约定的分割线的ARGB颜色值不相同,则继续沿横向比对下一个像素点的像素(颜色)值,直到找到与约定的分割线的ARGB颜色值相同的像素点为止,记录当前横向位置,然后返回至位置原点,从位置原点(开始位置)向下,即纵向开始循环比对每一个像素点的像素值,如果该像素点的像素(颜色)值与约定的分割线的ARGB颜色值不相同,则继续沿纵向比对下一个像素点的像素值,直到找到与约定的分割线的ARGB颜色值相同的像素点为止,记录当前纵向位置,依据记录的横向位置以及纵向位置可以得到第一幅图片资源,其余的图片资源可以依据第一幅图片资源的查询方法找到,在此略去详述。在获取图片资源的横向位置以及纵向位置后(图片资源的坐标),可以通过图形设备接口(GDI,GraphicsDeviceInterface)将图片资源(置于空白图片子模板中的图片资源)从拼合的图片资源中进行复制,如果有拉伸绘制图,则需要再次调用识别方法识别出图片,识别方法与识别置于空白图片子模板中的图片资源相类似,在此略去详述。所应说明的是,本发明实施例生成的拼合的图片资源,也可以用于与该应用程序具有相同所需图片资源的其他应用程序。本发明实施例中,通过按照预先设置的图片尺寸阈值调整图片资源,将调整的图片资源分别置于以分割线分割的空白图片模板中,从而可以对重复的图片资源信息头进行删减以合并同一空白图片模板中的多张图片资源,在空白图片模板中的每一图片资源或状态图片资源,按照等高或者等宽进行排列,并在 图片资源之间,使用预定义的分割线(例如,纯色宽度为1的像素线条)标识图片资源,以便于能够通过图片识别技术识别出每一图片资源。由于能够在不降低图片资源清晰度的情况下,合理的拼合各图片资源,能够使得应用程序界面显示的图片资源清晰,应用程序界面显示质量高;进一步地,通过对重复的图片资源信息头进行删减,使得可执行文件的资源段大幅度减小,从而缩小可执行文件的体积,优化了可执行文件的运行,节约应用程序运行加载图片资源所需的时间,提高可行性文件的运行效率,有利于应用程序运行效率以及系统运行效率的提升;而且,通过组成一张图片资源(包含多个空白图片子模板的空白图片模板),有效地维护了图片资源的唯一性,可以达到图片资源数量和尺寸大小的删减,使用方便,减少了管理以及维护时间,可大幅度减少开发人员工作量,从开发周期上缩短了时间。图4为本发明实施例的图片资源拼合装置结构示意图。参见图4,该装置包括:图片资源调整模块401、模板设置模块402、拼合模块403以及识别加载模块404,其中,图片资源调整模块401,用于获取应用程序运行所需的图片资源,按照预先设置的图片尺寸阈值调整获取的图片资源,得到调整的图片资源;本发明实施例中,图片资源的格式包括但不限于:位图格式、联合图片资源专家小组格式、图片资源互换格式、标签图片资源文件格式以及可移植网络图形格式。较佳地,本发明实施例中,图片资源使用PNG格式的图片资源。每一PNG格式的图片资源包括:文件头数据块、调色板数据块、图片资源数据块以及图片资源结束数据块。本发明实施例中,预先设置的一个或多个图片尺寸阈值可以根据后续应用程序加载界面展示的图片资源尺寸来确定。模板设置模块402,用于设置一空白图片模板,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板,所述空白图片子模板的尺寸与所述图片尺寸阈值相同,所述空白图片子模板数量不小于所述应用程序运行所需的图片资源数量;本发明实施例中,以空白图片模板为PNG格式为例,包含有多个空白图片子模板的空白图片模板包含有:一文件头数据块、一调色板数据块、顺序相连的多个图片资源数据块以及一图片资源结束数据块。本发明实施例中,较佳地,PNG格式的图片为点阵图,像素点的颜色值由ARGB颜色值组成。作为一可选实施例,以预定义的分割线将所述空白图片模板划分为多个空白图片子模板包括:获取所有图片尺寸阈值在高度上的高度种类,以预定义的分割线将所述空白图片模板划分为多行,每一行对应一高度种类;获取所有图片尺寸阈值在宽度上的宽度种类,以预定义的分割线将所述空白图片模板划分为多列,每一列对应一宽度种类。本发明实施例中,空白图片模板可以采用水平三宫格、垂直三宫格、九宫格等方式的图片模板。拼合模块403,用于依次将调整的图片资源置于空白图片模板中的空白图片子模板中,构建空白图片子模板与置于该空白图片子模板中的所述调整的图片资源的映射关系,生成拼合的图片资源;本发明实施例中,作为一可选实施例,拼合模块403包括:图片资源置于单元、映射关系构建单元以及拼合单元(图中未示出),其中,图片资源置于单元,用于在调整的图片资源中,获取等宽的图片资源,并将获取的等宽图片资源置于该等宽对应的空白图片模板所在列的空白图片子模板中;获取等高的图片资源,并将获取的等高图片资源置于该等高的图片资源的高度种类对应的空白图片模板所在行的空白图片子模板中;映射关系构建单元,用于按照预先设置的规则对以分割线分割的空白图片子模板进行标识;构建标识的空白图片子模板与置于该空白图片子模板中的所述调整的图片资源标识的映射关系;拼合单元,用于依据置于空白图片模板的空白图片子模板中的图片资源,生成拼合的图片资源,所述拼合的图片资源包括:一文件头数据块、一调色板数据块、顺序相连的多个图片资源数据块以及一图片资源结束数据块。本发明实施例中,作为另一可选实施例,拼合模块403还可以进一步包括:位置信息获取单元,用于获取标识的空白图片子模板在所述空白图片模板中的位置信息。识别加载模块404,用于在应用程序加载图片资源时,依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载。本发明实施例中,所述依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,从所述得到的空白图片子模板中提取所述待加载的图片资源进行加载包括:依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板,确定得到的空白图片子模板对应的分隔线,识别拼合的图片资源中所述确定的分割线,提取所述拼合的图片资源中以识别的分割线标识的图片资源进行加载。本发明实施例中,作为一可选实施例,识别加载模块404包括:查询单元、分割线确定单元、识别单元以及提取加载单元(图中未示出),其中,查询单元,用于在应用程序加载图片资源时,依据待加载图片资源查询映射关系,得到待加载图片资源所在的空白图片子模板;分割线确定单元,用于依据得到的空白图片子模板在空白图片模板中的位置,确定得到的空白图片子模板对应的分隔线;识别单元,用于依据确定的分隔线,获取循环开始像素点,所述循环开始像素点的横向位置信息为待提取图片资源的第一横坐标信息,纵向位置信息为待提取图片资源的第一纵坐标信息;依序获取循环开始像素点所在行前方的各像素点的像素值,判断获取的像素值是否与预先设置的分割线像素阈值相同,直至找到与分割线像素阈值相同的像素点,记录与分割线像素阈值相同的像素点的前一像素点的横向位置信息,得到待提取图片资源的第二横坐标信息;依序获取循环开始像素点所在列下方的各像素点的像素值,判断获取的像素值是否与预先设置的分割线像素阈值相同,直至找到与分割线像素阈值相同的像素点,记录与分割线像素阈值相同的像素点的前一像素点的位置信息,得到待提 取图片资源的第二纵坐标信息;提取加载单元,用于提取所述拼合的图片资源中位于第一横坐标信息、第一纵坐标信息以及第二横坐标信息、第二纵坐标信息之间的各像素点的像素值并进行加载。作为另一可选实施例,识别加载模块404还可以进一步包括:状态图片资源生成单元,用于依据提取的各像素点的像素值,生成加载界面所需的各状态图片资源。本发明实施例中,状态图片资源包括:正常状态(NORMAL)图片资源、鼠标移动上去的状态(HOT)图片资源、鼠标按下的状态(PUSHED)图片资源等。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1