一种压缩点九图的方法及装置制造方法及图纸

技术编号:22331453 阅读:49 留言:0更新日期:2019-10-19 12:31
公开了一种压缩点九图的方法及装置。对于点九图的任一横向伸缩区域而言,针对该横向伸缩区域内的任一像素点,如果该像素点的颜色既与该像素点左边的像素点的颜色相同,又与该像素点右边的像素点的颜色相同,则说明该横向伸缩区域具有横向可压缩性,如此,可以对该横向伸缩区域进行横向压缩,以缩小点九图的横向尺寸。同理,也可以缩小点九图的纵向尺寸。

【技术实现步骤摘要】
一种压缩点九图的方法及装置
本说明书实施例涉及信息
,尤其涉及一种压缩点九图的方法及装置。
技术介绍
点九图(后缀名为.9.png)是安卓系统所支持的一种图片格式,其由人工在png图片基础上进行绘制得到。具体地,人工需要在png图片的四周绘制一定长度的黑线,以告知安卓系统在渲染该png图片时,哪些区域可以被伸缩,哪些区域应当保持原有比例。如此,安卓系统使用点九图进行图片渲染(会根据手机的屏幕尺寸进行图片伸缩),并不会导致渲染出的图片失真。在工程实践中,点九图的尺寸越小,越能节省存储资源。
技术实现思路
为了减小点九图的尺寸,节省存储资源,本说明书实施例提供一种压缩点九图的方法及装置,技术方案如下:根据本说明书实施例的第1方面,提供一种压缩点九图的方法,用于压缩点九图的横向尺寸,所述方法包括:确定所述点九图中各可压缩的横向伸缩区域;从确定出的各可压缩的横向伸缩区域中,选择至少一个横向伸缩区域;针对选择的每个横向伸缩区域,压缩该横向伸缩区域的横向尺寸,并调整该横向伸缩区域对应的横向伸缩标示线的尺寸,使得调整后的该横向伸缩标示线可标示出压缩后的该横向伸缩区域;其中,确定所述点九图中各可压缩的横向伸缩区域,包括:针对所述点九图的每个横向伸缩标示线,确定所述点九图中对应于该横向伸缩标示线的横向伸缩区域;判断该横向伸缩区域是否满足第一指定条件;所述第一指定条件为,在该横向伸缩区域内,同一行上的每个像素点的颜色相同;若是,则确定该横向伸缩区域可压缩。根据本说明书实施例的第2方面,提供一种压缩点九图的方法,用于压缩点九图的纵向尺寸,所述方法包括:确定所述点九图中各可压缩的纵向伸缩区域;从确定出的可压缩的各纵向伸缩区域中,选择至少一个纵向伸缩区域;针对选择的每个纵向伸缩区域,压缩该纵向伸缩区域的纵向尺寸,并调整该纵向伸缩区域对应的纵向伸缩标示线的尺寸,使得调整后的该纵向伸缩标示线可标示出压缩后的该纵向伸缩区域;其中,确定所述点九图中各可压缩的纵向伸缩区域,包括:针对所述点九图的每个纵向伸缩标示线,确定所述点九图中对应于该纵向伸缩标示线的纵向伸缩区域;判断该纵向伸缩区域是否满足第二指定条件;所述第二指定条件为,在该纵向伸缩区域内,同一列上的每个像素点的颜色相同;若是,则确定该纵向伸缩区域可压缩。根据本说明书实施例的第3方面,提供一种压缩点九图的装置,用于压缩点九图的横向尺寸,所述装置包括:确定模块,确定所述点九图中各可压缩的横向伸缩区域;选择模块,从确定出的各可压缩的横向伸缩区域中,选择至少一个横向伸缩区域;压缩模块,针对选择的每个横向伸缩区域,压缩该横向伸缩区域的横向尺寸,并调整该横向伸缩区域对应的横向伸缩标示线的尺寸,使得调整后的该横向伸缩标示线可标示出压缩后的该横向伸缩区域;其中,所述确定模块包括:确定子模块,针对所述点九图的每个横向伸缩标示线,确定所述点九图中对应于该横向伸缩标示线的横向伸缩区域;判断处理子模块,判断该横向伸缩区域是否满足第一指定条件,所述第一指定条件为,在该横向伸缩区域内,同一行上的每个像素点的颜色相同;若是,则确定该横向伸缩区域可压缩。根据本说明书实施例的第4方面,提供一种压缩点九图的装置,用于压缩点九图的纵向尺寸,所述装置包括:确定模块,确定所述点九图中各可压缩的纵向伸缩区域;选择模块,从确定出的可压缩的各纵向伸缩区域中,选择至少一个纵向伸缩区域;压缩模块,针对选择的每个纵向伸缩区域,压缩该纵向伸缩区域的纵向尺寸,并调整该纵向伸缩区域对应的纵向伸缩标示线的尺寸,使得调整后的该纵向伸缩标示线可标示出压缩后的该纵向伸缩区域;其中,所述确定模块包括:确定子模块,针对所述点九图的每个纵向伸缩标示线,确定所述点九图中对应于该纵向伸缩标示线的纵向伸缩区域;判断处理模块,判断该纵向伸缩区域是否满足第二指定条件,所述第二指定条件为,在该纵向伸缩区域内,同一列上的每个像素点的颜色相同;若是,则确定该纵向伸缩区域可压缩。本说明书实施例所提供的技术方案,对于点九图的任一横向伸缩区域而言,如果在该横向伸缩区域内,同一行上的每个像素点的颜色相同,则说明该横向伸缩区域具有横向可压缩性,如此,可以对该横向伸缩区域进行横向压缩,以缩小点九图的横向尺寸。同理,也可以缩小点九图的纵向尺寸。通过本说明书实施例,可以压缩人工绘制的点九图的尺寸大小,提升图片压缩率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是点九图示意图;图2a和2b是点九图中伸缩区域的示意图;图3是本说明书实施例提供的一种压缩点九图的方法的流程示意图;图4是本说明实施例提供的横向压缩点九图的示意图;图5是本说明书实施例提供的一种压缩点九图的方法的流程示意图;图6是本说明书实施例提供的一种压缩点九图的装置的结构示意图;图7是本说明书实施例提供的另一种压缩点九图的装置的结构示意图;图8是用于配置本说明书实施例方法的一种设备的结构示意图。具体实施方式此处对点九图的原理进行介绍。图1是点九图示意图。如图1所示,由人工在png图片的四周绘制四条黑色的标示线。其中,上边的两条横向伸缩标示线的作用是标示出png图片在横向上可伸缩的区域范围;左边的纵向伸缩标示线的作用是标示出png图片在纵向上可伸缩的区域范围;右边的纵向内间距标示线的作用是标示出以png图片为背景,在纵向上可显示内容的区域范围;下边的横向内间距标示线的作用是标示出以png图片为背景,在横向上可显示内容的区域范围。需要说明的是,本文关注的重点是点九图的尺寸而非点九图如何显示内容,因此,并不会过多提及纵向内间距标示线与横向内间距标示线。参见图2a和2b,根据点九图的每个横向伸缩标示线可以确定相应的横向伸缩区域,根据点九图的每个纵向伸缩标示线可以确定相应的纵向伸缩区域。安卓系统需要进行图片渲染时,首先会根据手机的屏幕尺寸确定需要渲染的图片的尺寸,然后根据需要渲染的图片的尺寸(横向尺寸与纵向尺寸),对点九图进行尺寸调整(即横向伸缩和/或纵向伸缩)。在对点九图进行伸缩时,在横向上仅会伸缩横向伸缩区域,在纵向上仅会伸缩纵向伸缩区域。由于点九图实际上可以视为安卓系统所使用的图片渲染模板,点九图本身的尺寸大小并不是影响渲染出的图片的尺寸大小的关键因素,因此,如何在保留点九图中必要信息的前提下,减小点九图的尺寸以节省存储资源,是一个工程实践中丞待解决的技术问题。为解决此技术问题,在本说明书的一个或多个实施例中,自动尝试对人工绘制得到的点九图进行压缩,如果发现点九图中存在不必要的冗余信息,就将冗余信息删除,以压缩点九图的尺寸大小。具体而言,对于点九图的任一横向伸缩区域而言,如果在该横向伸缩区域内,同一行上的每个像素点的颜色相同,则说明对该横向伸缩区域进行横向压缩并不会导致点九图丧失必要信息(即不会影响安卓系统对点九图进行横向伸缩),因此,可以对该横向伸缩区本文档来自技高网...

【技术保护点】
1.一种压缩点九图的方法,用于压缩点九图的横向尺寸,所述方法包括:确定所述点九图中各可压缩的横向伸缩区域;从确定出的各可压缩的横向伸缩区域中,选择至少一个横向伸缩区域;针对选择的每个横向伸缩区域,压缩该横向伸缩区域的横向尺寸,并调整该横向伸缩区域对应的横向伸缩标示线的尺寸,使得调整后的该横向伸缩标示线可标示出压缩后的该横向伸缩区域;其中,确定所述点九图中各可压缩的横向伸缩区域,包括:针对所述点九图的每个横向伸缩标示线,确定所述点九图中对应于该横向伸缩标示线的横向伸缩区域;判断该横向伸缩区域是否满足第一指定条件;所述第一指定条件为,在该横向伸缩区域内,同一行上的每个像素点的颜色相同;若是,则确定该横向伸缩区域可压缩。

【技术特征摘要】
1.一种压缩点九图的方法,用于压缩点九图的横向尺寸,所述方法包括:确定所述点九图中各可压缩的横向伸缩区域;从确定出的各可压缩的横向伸缩区域中,选择至少一个横向伸缩区域;针对选择的每个横向伸缩区域,压缩该横向伸缩区域的横向尺寸,并调整该横向伸缩区域对应的横向伸缩标示线的尺寸,使得调整后的该横向伸缩标示线可标示出压缩后的该横向伸缩区域;其中,确定所述点九图中各可压缩的横向伸缩区域,包括:针对所述点九图的每个横向伸缩标示线,确定所述点九图中对应于该横向伸缩标示线的横向伸缩区域;判断该横向伸缩区域是否满足第一指定条件;所述第一指定条件为,在该横向伸缩区域内,同一行上的每个像素点的颜色相同;若是,则确定该横向伸缩区域可压缩。2.如权利要求1所述的方法,从确定出的各可压缩的横向伸缩区域中,选择至少一个横向伸缩区域,具体包括:选择所有可压缩的横向压缩区域。3.如权利要求1所述的方法,针对选择的每个横向伸缩区域,压缩该横向伸缩区域的横向尺寸,具体包括:针对选择的每个横向伸缩区域,将该横向伸缩区域的横向尺寸压缩为1像素。4.一种压缩点九图的方法,用于压缩点九图的纵向尺寸,所述方法包括:确定所述点九图中各可压缩的纵向伸缩区域;从确定出的可压缩的各纵向伸缩区域中,选择至少一个纵向伸缩区域;针对选择的每个纵向伸缩区域,压缩该纵向伸缩区域的纵向尺寸,并调整该纵向伸缩区域对应的纵向伸缩标示线的尺寸,使得调整后的该纵向伸缩标示线可标示出压缩后的该纵向伸缩区域;其中,确定所述点九图中各可压缩的纵向伸缩区域,包括:针对所述点九图的每个纵向伸缩标示线,确定所述点九图中对应于该纵向伸缩标示线的纵向伸缩区域;判断该纵向伸缩区域是否满足第二指定条件;所述第二指定条件为,在该纵向伸缩区域内,同一列上的每个像素点的颜色相同;若是,则确定该纵向伸缩区域可压缩。5.如权利要求4所述的方法,从确定出的可压缩的各纵向伸缩区域中,选择至少一个纵向伸缩区域,具体包括:选择所有可压缩的纵向压缩区域。6.如权利要求4所述的方法,针对选择的每个纵向伸缩区域,压缩该纵向伸缩区域的纵向尺寸,具体包括:针对选择的每个纵向伸缩区域,将该纵向伸缩区域的纵向尺寸压缩为1像素。7.一种压缩点九图的装...

【专利技术属性】
技术研发人员:杨磊磊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1