一种雪碧图的生成方法及装置与流程

文档序号:21319442发布日期:2020-06-30 20:50阅读:510来源:国知局
一种雪碧图的生成方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种雪碧图的生成方法及装置。



背景技术:

雪碧图也叫css精灵,是一种层叠样式表(cascadingstylesheets,css)图像合成技术。目前的网站开发90%以上会用到小图标,多个小图标调用显示是前端开发常见的操作,如果每个小图标都单独调用一张图片进行显示,这就意味着每个小图标的显示都产生一个http请求,但每个http请求都需要一定的性能开销。为了减少http请求数量,加速网页内容显示速度,很多网站的导航栏图标、登录框图片等使用的并不是<image>标签,而是css雪碧图。css雪碧图允许将一个多个小图标页面涉及到的多个小图标的图片都包含在一张大图中,当访问该页面时,只需要产生一个http请求来载入多个小图标的图片合成的大图即可,由此减少了http请求数量,加速了图片显示速度。

目前,雪碧图生成方法可以通过使用photoshop的图像处理软件手动合成,也可以通过使用专业生成雪碧图的软件。

然而,发明人发现通过photoshop的图像处理软件生成雪碧图的方式需要专业人员手动进行图片合成,导致图片合成过程繁琐。专业生成雪碧图软件生成雪碧图的方式虽然不需要人工操作,但每款软件只支持固定的图片排列布局,如横向布局、纵向布局等,可扩展性较差。



技术实现要素:

本申请实施例提供一种雪碧图的生成方法及装置,解决了现有技术的上述技术问题,以提高雪碧图中图片排列布局的可扩展性。

第一方面,提供了一种雪碧图的生成方法,该方法可以包括:

获取至少一个待合成图片的图片尺寸;

根据预设二叉树布局算法和所述图片尺寸,在预设的第一合成区域内对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,所述目标合成区域为包含所述至少一个待合成图片的区域;

根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图。

在一个可选的实现中,获取至少一个待合成图片的图片尺寸之后,所述方法还包括:

选取所述至少一个待合成图片中每个待合成图片的长度和宽度中的最大值;

按照选取的最大值,对所述至少一个待合成图片进行降序排列;

根据预设二叉树布局算法和所述图片尺寸,在预设的第一合成区域内对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,包括:

根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入所述第一合成区域;

若所述至少一个待合成图片中的当前待合成图片不能添加入所述第一合成区域,则根据所述当前待合成图片的图片尺寸和预设调节算法,调节所述第一合成区域,得到第二合成区域;

当所述第二合成区域包括所述至少一个待合成图片时,将所述第二合成区域确定为所述目标合成区域。

在一个可选的实现中,根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入预设的第一合成区域,包括:

将排序后的至少一个待合成图片中的第一个待合成图片放置在所述第一合成区域的目标位置;

按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域;

将所述排序后的剩余待合成图片中的第一个待合成图片放置在目标子合成区域的目标位置,所述目标子合成区域为根据所述待合成图片的图片尺寸确定的子合成区域;

将所述目标子合成区域的剩余区域确定为新的第一合成区域的剩余区域,返回执行按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域的步骤。

在一个可选的实现中,根据所述当前待合成图片的图片尺寸,调节所述第一合成区域,包括:

若所述第一合成区域的宽度大于所述第一合成区域的长度与所述当前待合成图片的长度的和,则将所述第一合成区域向右增加预设长度值的区域;

若所述第一合成区域的长度大于所述第一合成区域的宽度与所述当前待合成图片的宽度的和,则将所述第一合成区域向下增加预设宽度值的区域。

在一个可选的实现中,根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图,包括:

根据所述目标合成区域的区域信息,确定画布区域;

根据所述位置信息,获取所述画布区域内所述至少一个待合成图片合成的雪碧图。

第二方面,提供了一种装置,该装置可以包括:获取单元和布局单元;

所述获取单元,用于获取至少一个待合成图片的图片尺寸;

所述布局单元,用于根据预设二叉树布局算法和所述图片尺寸,对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,所述目标合成区域为包含所述至少一个待合成图片的区域;

所述获取单元,还用于根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图。

在一个可选的实现中,所述装置还包括:选取单元、排序单元、调节单元、确定单元;

所述选取单元,用于选取所述至少一个待合成图片中每个待合成图片的长度和宽度中的最大值;

所述排序单元,用于按照选取的最大值,对所述至少一个待合成图片进行降序排列;

所述布局单元,还用于根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入预设的第一合成区域;

所述调节单元,用于若所述至少一个待合成图片中的当前待合成图片不能添加入所述第一合成区域,则根据所述当前待合成图片的图片尺寸和预设调节算法,调节所述第一合成区域,得到第二合成区域;

所述确定单元,用于当所述第二合成区域包括所述至少一个待合成图片时,将所述第二合成区域确定为所述目标合成区域。

在一个可选的实现中,所述布局单元,具体用于将排序后的至少一个待合成图片中的第一个待合成图片放置在所述第一合成区域的目标位置;

按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域;

将所述排序后的剩余待合成图片中的第一个待合成图片放置在目标子合成区域的目标位置,所述目标子合成区域为根据所述待合成图片的图片尺寸确定的子合成区域;

所述确定单元,还用于将所述目标子合成区域的剩余区域确定为新的第一合成区域的剩余区域,返回执行按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域的步骤。

在一个可选的实现中,所述调节单元,具体用于若所述第一合成区域的宽度大于所述第一合成区域的长度与所述当前待合成图片的长度的和,则将所述第一合成区域向右增加预设长度值的区域;

若所述第一合成区域的长度大于所述第一合成区域的宽度与所述当前待合成图片的宽度的和,则将所述第一合成区域向下增加预设宽度值的区域。

在一个可选的实现中,所述获取单元,还用于根据所述目标合成区域的区域信息,确定画布区域;

根据所述位置信息,获取所述画布区域内所述至少一个待合成图片合成的雪碧图。

第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。

本发明实施例的上述方法,在获取至少一个待合成图片的图片尺寸后,根据预设二叉树布局算法和图片尺寸,对至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息,并根据目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息,获取至少一个待合成图片的雪碧图。该方法通过采用可以支持多操作系统的二叉树布局算法,简化图片的合成过程并自定义待合成图片的排列布局,增加了图片排列方式的可扩展性,以满足不同的应用需求。

附图说明

图1为本发明实施例提供的一种雪碧图的生成方法的流程示意图;

图2为本发明实施例提供的一种待合成图片合成的过程示意图;

图3为图2的一种待合成图片合成的过程示意图;

图4为图2的另一种待合成图片合成的过程示意图;

图5a为图4的一种待合成图片合成的过程示意图;

图5b为图4的另一种待合成图片合成的过程示意图;

图6为本发明实施例提供的一种待合成图片合成后的位置示意图;

图7为本发明实施例提供的一种部分合成图;

图8为图7的一种合成图调节方式的示意图;

图9为图7的另一种合成图调节方式的示意图;

图10为本发明实施例提供的一种雪碧图的生成装置的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明实施例提供的雪碧图的生成方法可以应用在服务器上,也可以应用在终端上。

为了保证雪碧图合成的精确性,服务器是具有较强计算能力的应用服务器或云服务器;终端可以是具有较强的计算能力的移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(userequipment,ue)、具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)等。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

下面以雪碧图的生成方法应用在终端上为例进行详细说明。

图1为本发明实施例提供的一种雪碧图的生成方法的流程示意图。如图1所示,该方法可以包括:

步骤110、获取至少一个待合成图片的图片尺寸。

终端接收至少一个待合成图片,获取至少一个待合成图片的图片信息,其包括待合成图片的图片尺寸,如长度、宽度,待合成图片的旋转角度,如旋转90度或倒置180度等信息。

需要说明的是,若接收的图片不为矩形,则获取包含完整图片信息的最小待合成图片,之后获取完善后的待合成图片的图片尺寸。

可选地,为了提高雪碧图的生成效率,可以对至少一个待合成图片进行排序,首先对最大尺寸的待合成图片进行合成处理,这样所有后续的待合成图片总会有至少一个边小于前一张待合成图片匹配边,从而有序的对至少一个待合成图片进行图片布局。

具体为,选取至少一个待合成图片中每个待合成图片的长度和宽度中的最大值;

按照选取的最大值,对至少一个待合成图片进行降序排列。

例如,存在5张待合成图片,且5张待合成图片的相关信息可以如表1所示。

表1

表1中,第一待合成图片最大值为宽度5;第二待合成图片最大值为宽度4;第三待合成图片最大值为宽度3;第四待合成图片最大值为宽度2;第五待合成图片最大值为长度5;故,排序后的5张待合成图片的顺序为:第一待合成图片、第五待合成图片、第二待合成图片、第三待合成图片、第四待合成图片。由于第一待合成图片与第五待合成图片的最大值相同,故第一待合成图片与第五待合成图片的顺序可以互换。

步骤120、根据预设二叉树布局算法和图片尺寸,在预设的第一合成区域内对至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息。

为了提高图片排列方式的可扩展性,本发明实施例通过二叉树布局算法将多张不同大小的待合成图合成在一个尽可能小的合成区域;目标合成区域为包含至少一个待合成图片的区域。

首先,根据排序后的至少一个待合成图片和预设二叉树布局算法,依次将至少一个待合成图片添加入预设的第一合成区域。

将排序后的至少一个待合成图片中的第一个待合成图片放置在第一合成区域的目标位置,该目标位置可以是区域的边界位置,也可以是自定义的固定位置;

将第一合成区域的剩余区域按照预设的区域划分方式,可以得到两个子合成区域。由于待合成图片均为矩形,故预设的区域划分方式可以是沿着待合成图片的长边界或宽边界对第一合成区域的剩余区域进行划分的方式。

例如,图2所示,区域a为第一合成区域,图片ⅰ为排序后的第一个待合成图片,目标位置为区域的左上角。在不改变图片的旋转角度,即不旋转图片的情况下,将图片ⅰ放置在区域a的左上角。之后若沿着图片ⅰ的长边界对区域a的剩余区域进行划分,则可以得到图3所示的子合成区域b和子合成区域c;若沿着图片ⅰ的宽边界对区域a的剩余区域进行划分,则可以得到图4所示的子合成区域d和子合成区域e。

进一步的,将排序后的剩余待合成图片中的第一个待合成图片放置在目标子合成区域的目标位置,目标子合成区域为根据待合成图片的图片尺寸确定的子合成区域。

在图4的基础上,图片ⅱ为排序后的第二个待合成图片,即排序后除图片ⅰ的剩余待合成图片中的第一个待合成图片。在不改变图片的旋转角度的情况下,将图片ⅱ的图片尺寸分别与子合成区域d的区域尺寸和子合成区域e的区域尺寸进行比较,将能够放置图片ⅱ的子合成区域确定为目标子合成区域。若图片ⅱ的图片尺寸不大于子合成区域d的区域尺寸,但大于子合成区域e的区域尺寸,则将图片ⅱ放置在子合成区域d的左上角,如图5a所示。可以理解的是,若图片ⅱ的图片尺寸大于子合成区域d的区域尺寸,但不大于子合成区域e的区域尺寸,则将图片ⅱ放置在子合成区域e的左上角。

之后,将目标子合成区域的剩余区域确定为新的第一合成区域的剩余区域,返回执行按照预设的区域划分方式,划分第一合成区域的剩余区域,得到两个子合成区域的步骤。例如,结合图5a,目标子合成区域为子合成区域d,对子合成区域d的剩余区域按照预设的区域划分方式,即沿着图片ⅱ的长边界或宽边界,对子合成区域d的剩余区域进行划分,得到另外两个子合成区域,如子合成区域p和子合成区域q。以此类推,直到将排序后的至少一个待合成图片都添加入第一合成区域。

可选地,在5a的基础上,若图片ⅲ为排序后的第三个待合成图片,将图片ⅲ的图片尺寸分别与子合成区域p和子合成区域q的区域尺寸进行比较;

若图片ⅲ的图片尺寸不大于子合成区域p的区域尺寸,但大于子合成区域q的区域尺寸,则将子合成区域p确定为目标子合成区域;

若图片ⅲ的图片尺寸大于子合成区域p的区域尺寸,但不大于子合成区域q的区域尺寸,则将子合成区域q确定为目标子合成区域;

若图片ⅲ的图片尺寸大于子合成区域p的区域尺寸,且大于子合成区域q的区域尺寸,则将图片ⅲ的图片尺寸与子合成区域e的区域尺寸进行比较;可见,图片ⅱ对应的两个子合成区域不能满足图片ⅲ的放置要求,此时需要检测图片ⅰ对应的未放置图片的子合成区域是否满足图片ⅲ的放置要求,即图片ⅱ对应的两个子合成区域的放置优先级高于图片ⅰ对应的未放置图片的子合成区域的放置优先级。

在图片ⅲ的图片尺寸不大于子合成区域e的区域尺寸时,将合成区域e确定为目标子合成区域,如图5b所示,以此类推,直到将排序后的至少一个待合成图片都添加入第一合成区域。

进一步的,根据预设的第一合成区域的位置信息和每个待合成图片的图片尺寸,可获取至少一个待合成图片在第一合成区域中的位置信息。其中,待合成图片在第一合成区域中的位置信息可以是待合成图片四个顶点的坐标信息。

预设的第一合成区域包括x、y、m和n四个区域顶点,且第一合成区域以顶点m为坐标原点,顶点m和顶点x所在直线为长度轴(或称“x轴”),顶点m和顶点yx所在直线为宽度轴(或称“y轴”)。

由于每个待合成图片的图片尺寸是已知的,故至少一个待合成图片都添加入第一合成区域后,可以获取至少一个待合成图片在第一合成区域中的位置信息。如图6所示,单位为cm,第一合成区域的长度为10,宽度为7。第一合成区域内的3个待合成图片的尺寸为:第一待合成图片的长度为6,宽度为4;第二待合成图片的长度为3,宽度为5;第三待合成图片的长度为5,宽度为2。

故,第一待合成图片的位置为(0,0),(6,0),(0,4),(6,4);第二待合成图片的位置为(6,0),(9,0),(6,5),(9,5);第三待合成图片的位置为(0,4),(0,6),(5,6),(5,4)。

可选地,由于无法预先确定多大的第一合成区域可以确保所有待合成图片都能以最优的方式放置,最优的方式表示放置所有待合成图片后合成区域的剩余空间最少,故可能出现第一合成区域不能容纳全部待合成图片的问题。为了解决这一问题,本发明实施例可以根据当前待合成图片的图片尺寸,对第一合成区域采用预设调节算法的调节,进一步保证合成区域最小。其中,当前待合成图片为未添加入第一合成区域的待合成图片。预设调节算法用于保证放置全部待合成图片的合成区域保持近似方形,即保证合成区域的剩余空间最小。

若第一合成区域的宽度大于第一合成区域的长度与当前待合成图片的长度的和,则将第一合成区域向右增加预设长度值的区域,得到第二合成区域。若第一合成区域的长度大于第一合成区域的宽度与当前待合成图片的宽度的和,则将第一合成区域向下增加预设宽度值的区域,得到第二合成区域。其中,预设长度值和预设宽度值是指能够满足调节后的第一合成区域容纳当前待合成图片的最小增加值。

如图7所示的部分合成图,第一合成区域的宽度为y,第一合成区域的长度为x;当前待合成图片的长度为p,当前待合成图片的宽度为q,第一合成区域的剩余空间的长度为a,宽度为b。如图8所示,在a小于p,且b小于q,即第一合成区域不能容纳待合成图片的情况下,若此时满足y>x+p,则向右增加预设长度值的区域。预设宽度值为当前待合成图片的长度p。如图9所示,在a小于p,且b小于q的情况下,若此时满足x>y+q,则向下增加预设宽度值的区域。预设宽度值为当前待合成图片的宽度q。

当第二合成区域包括至少一个待合成图片,即所有的待合成图片时,将第二合成区域确定为目标合成区域。由于第一合成区域的区域大小和区域位置是已知的,故可以获取目标合成区域的区域信息,如区域大小和区域位置。

步骤130、根据目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息,获取至少一个待合成图片的雪碧图。

利用画布工具,根据目标合成区域的区域信息,确定画布区域,该画布区域大小与目标合成区域的区域大小相同。

根据至少一个待合成图片在目标合成区域中的位置信息,将至少一个待合成图片放置在画布区域的相应位置,以获取至少一个待合成图片合成的雪碧图,再通过画布工具导出获取的雪碧图。

可见,本发明实施例的上述方法,在获取至少一个待合成图片的图片尺寸后,根据预设二叉树布局算法和图片尺寸,对至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息,并根据目标合成区域的区域信息和至少一个待合成图片在目标合成区域中的位置信息,获取至少一个待合成图片的雪碧图。该方法通过采用可以支持多操作系统的二叉树布局算法,来简化图片的合成过程,且可以自定义待合成图片的排列布局,增加了图片排列方式的可扩展性,以满足不同的应用需求。

与上述方法对应的,本发明实施例还提供一种雪碧图的生成装置,如图10所示,该装置包括:获取单元1010和布局单元1020;

获取单元1010,用于获取至少一个待合成图片的图片尺寸;

布局单元1020,用于根据预设二叉树布局算法和所述图片尺寸,在预设的第一合成区域内对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,所述目标合成区域为包含所述至少一个待合成图片的区域;

获取单元1010,还用于根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图。

在一个可选的实现中,所述装置还包括:选取单元1030、排序单元1040、调节单元1050、确定单元1060;

选取单元1030,用于选取所述至少一个待合成图片中每个待合成图片的长度和宽度中的最大值;

排序单元1040,用于按照选取的最大值,对所述至少一个待合成图片进行降序排列;

布局单元1020,还用于根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入所述第一合成区域;

调节单元1050,用于若所述至少一个待合成图片中的当前待合成图片不能添加入所述第一合成区域,则根据所述当前待合成图片的图片尺寸和预设调节算法,调节所述第一合成区域,得到第二合成区域;

确定单元1060,用于当所述第二合成区域包括所述至少一个待合成图片时,将所述第二合成区域确定为所述目标合成区域。

在一个可选的实现中,布局单元1020,具体用于将排序后的至少一个待合成图片中的第一个待合成图片放置在所述第一合成区域的目标位置;

按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域;

将所述排序后的剩余待合成图片中的第一个待合成图片放置在目标子合成区域的目标位置,所述目标子合成区域为根据所述待合成图片的图片尺寸确定的子合成区域;

确定单元1060,还用于将所述目标子合成区域的剩余区域确定为新的第一合成区域的剩余区域,返回执行按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域的步骤。

在一个可选的实现中,调节单元1050,具体用于若所述第一合成区域的宽度大于所述第一合成区域的长度与所述当前待合成图片的长度的和,则将所述第一合成区域向右增加预设长度值的区域;

若所述第一合成区域的长度大于所述第一合成区域的宽度与所述当前待合成图片的宽度的和,则将所述第一合成区域向下增加预设宽度值的区域。

在一个可选的实现中,获取单元1010,还用于根据所述目标合成区域的区域信息,确定画布区域;

根据所述位置信息,获取所述画布区域内所述至少一个待合成图片合成的雪碧图。

本发明上述实施例提供的雪碧图的生成装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的雪碧图的生成装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图11所示,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。

存储器1130,用于存放计算机程序;

处理器1110,用于执行存储器1130上所存放的程序时,实现如下步骤:

获取至少一个待合成图片的图片尺寸;

根据预设二叉树布局算法和所述图片尺寸,在预设的第一合成区域内对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,所述目标合成区域为包含所述至少一个待合成图片的区域;

根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图。

在一个可选的实现中,获取至少一个待合成图片的图片尺寸之后,所述方法还包括:

选取所述至少一个待合成图片中每个待合成图片的长度和宽度中的最大值;

按照选取的最大值,对所述至少一个待合成图片进行降序排列;

根据预设二叉树布局算法和所述图片尺寸,在预设的第一合成区域内对所述至少一个待合成图片进行合成布局,得到目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,包括:

根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入所述第一合成区域;

若所述至少一个待合成图片中的当前待合成图片不能添加入所述第一合成区域,则根据所述当前待合成图片的图片尺寸和预设调节算法,调节所述第一合成区域,得到第二合成区域;

当所述第二合成区域包括所述至少一个待合成图片时,将所述第二合成区域确定为所述目标合成区域。

在一个可选的实现中,根据排序后的至少一个待合成图片和所述预设二叉树布局算法,依次将所述至少一个待合成图片添加入所述第一合成区域,包括:

将排序后的至少一个待合成图片中的第一个待合成图片放置在所述第一合成区域的目标位置;

按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域;

将所述排序后的剩余待合成图片中的第一个待合成图片放置在目标子合成区域的目标位置,所述目标子合成区域为根据所述待合成图片的图片尺寸确定的子合成区域;

将所述目标子合成区域的剩余区域确定为新的第一合成区域的剩余区域,返回执行按照预设的区域划分方式,划分所述第一合成区域的剩余区域,得到两个子合成区域的步骤。

在一个可选的实现中,根据所述当前待合成图片的图片尺寸,调节所述第一合成区域,包括:

若所述第一合成区域的宽度大于所述第一合成区域的长度与所述当前待合成图片的长度的和,则将所述第一合成区域向右增加预设长度值的区域;

若所述第一合成区域的长度大于所述第一合成区域的宽度与所述当前待合成图片的宽度的和,则将所述第一合成区域向下增加预设宽度值的区域。

在一个可选的实现中,根据所述目标合成区域的区域信息和所述至少一个待合成图片在所述目标合成区域中的位置信息,获取所述至少一个待合成图片的雪碧图,包括:

根据所述目标合成区域的区域信息,确定画布区域;

根据所述位置信息,获取所述画布区域内所述至少一个待合成图片合成的雪碧图。

上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图1所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的雪碧图的生成方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的雪碧图的生成方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1