背景模糊方法、装置及终端设备的制造方法
[0066]图5是根据一示例性实施例示出的第二种处理单元的框图。
[0067]图6根据一示例性实施例示出的一种终端设备的框图。
【具体实施方式】
[0068]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0069]图1是根据一示例性实施例示出的一种背景模糊方法的流程图,如图1所示,该方法用于终端设备中,包括以下步骤。
[0070]在步骤S11中,获取应用程序包括的多个窗口。
[0071]通常,终端设备中会安装多个应用程序,当用户想要打开某个应用程序或者选择应用程序的某个功能选项时,如果终端设备设置触摸屏,可以直接点击或者使用触摸笔点击该应用程序的图标;如果终端设备连接鼠标、键盘等外接设备,可以使用外接设备点击该应用程序的图标。
[0072]终端设备检测到该点击行为后,则需要显示该应用程序相应的用户界面,若该应用程序设置了背景模糊,该用户界面需要达到背景模糊的效果。由于应用程序一般包括多个窗口,终端设备需要首先获取这些窗口,窗口可以理解为图片。
[0073]在步骤S12中,从多个窗口中确定背景窗口和前景窗口。
[0074]应用程序的窗口中一般包括前景窗口和背景窗口,背景窗口和前景窗口都包括至少一个窗口,终端设备获取应用程序包括的多个窗口后,需要确定哪些窗口是前景窗口,哪些窗口是背景窗口。
[0075]在步骤S13中,将背景窗口进行模糊处理。
[0076]在步骤S14中,叠加前景窗口和模糊处理的背景窗口,得到应用程序的用户界面,显示应用程序的用户界面。
[0077]相关技术中,终端设备显示应用程序的用户界面时,若无需背景模糊,则执行S12后,可以直接叠加前景窗口和背景窗口,得到应用程序的用户界面;而在本实施例中,由于需要背景模糊,则执行S12后,增加了 S13,也就是说终端设备在绘制应用程序的用户界面的过程中,增加了将背景窗口进行模糊处理的步骤,然后叠加前景窗口和模糊处理后的背景窗口,得到应用程序的用户界面,显示应用程序的用户界面,由于对背景窗口进行了模糊处理,用户界面的背景和前景的对比度增大,前景显示明显,易读性也较好,从而可以清晰有效地向用户呈现前景信息,提升用户体验。
[0078]可选的,S12中的从多个窗口中确定背景窗口和前景窗口的步骤包括以下两种方式:
[0079]第一种方式,检测多个窗口是否携带第一标识信息,将携带第一标识信息的窗口确定为背景窗口,将未携带第一标识信息的窗口确定为前景窗口。
[0080]应用程序可以在多个窗口中用第一标识信息来区分背景窗口和前景窗口,可以在每个背景窗口添加第一标识信息,而前景窗口不添加第一标识信息,相应地,终端设备可以通过检测多个窗口是否携带第一标识信息来确定前景窗口和背景窗口。
[0081]第一标识信息可以依据实际需要进行设定,例如可以是选定的字母、数字或者使用已有的标识等等。
[0082]第二种方式,检测多个窗口是否携带第二标识信息,若检测到一个窗口携带第二标识信息,将多个窗口组成的窗口序列中一个窗口之后的窗口确定为背景窗口,将多个窗口中除背景窗口之外的其他窗口确定为前景窗口。
[0083]应用程序也可以在多个窗口中用第二标识信息来区分背景窗口和前景窗口,可以在一个窗口添加第二标识信息,而多个窗口组成的窗口序列中该窗口之后的窗口确定为背景窗口,将多个窗口中除背景窗口之外的其他窗口确定为前景窗口,相应地,终端设备可以通过检测多个窗口是否携带第二标识信息来确定前景窗口和背景窗口。
[0084]第一标识信息可以依据实际需要进行设定,例如可以是选定的字母、数字或者使用已有的标识等等。
[0085]以上仅仅是列举了两种从多个窗口中确定背景窗口和前景窗口的方法,当然还可以采用其它很多方式来实现,这里不再一一赘述。
[0086]可选的,S13中的将背景窗口进行模糊处理的步骤包括:
[0087]将背景窗口绘制到第一内存;
[0088]对第一内存中的图像在X方向模糊处理后绘制到第二内存中,再将第二内存中的图像在y方向模糊处理后绘制到第一内存中。
[0089]像素点是图像中的最小单元,图像是由多个像素点顺序排列形成的,可以分为X方向和y方向,因此,可以首先将背景窗口绘制到选定的第一内存中,然后通过分别对第一内存中的图像从X方向和1方向模糊处理的方式来降低图像的分辨率,从而实现模糊处理背景窗口。第二内存可以根据实际需要选定,可以与第一内存大小、位置相同,也可以与第一内存大小、位置不同。
[0090]其中,对第一内存中的图像在X方向模糊处理的步骤可以包括:依次获取第一内存中的图像上的每个像素点;针对每个像素点执行:获取在X方向上距离当前像素点设定距离的像素点;将获取的像素点的颜色值加权平均后,得到当前像素点的颜色值。
[0091]可以依次获取第一内存中图像的每一个像素点,获取的像素点可以作为当前像素点,针对每个像素点的颜色值分别进行计算。例如,可以获取在X方向上当前像素点左右5个像素点的颜色值进行加权平均,权重值可以根据与当前像素点的距离远近确定,与当前像素点的距离近的权重值可以大一些;与当前像素点的距离远的权重值可以小一些。将加权平均后的颜色值作为当前像素点的颜色值,重新计算第一内存中图像的每一个像素点的颜色值后,从而实现第一内存中的图像的模糊处理,并将处理后的图像保存在第二内存中,从而便于将图像在y方向进行模糊处理。
[0092]将第二内存中的图像在1方向模糊处理的步骤包括:依次获取第二内存中的图像上的每个像素点;针对每个像素点执行:获取在y方向上距离当前像素点设定距离的像素点;将获取的像素点的颜色值加权平均后,得到当前像素点的颜色值。
[0093]将第二内存中的图像在y方向模糊处理的方法可以参见将第一内存中的图像在X方向模糊处理的方法。
[0094]可选的,将背景窗口绘制到第一内存之后,对第一内存中的图像在X方向模糊处理后绘制到第二内存中的步骤之前,还包括:以设定缩小倍数缩小第一内存中的图像。
[0095]对第一内存中的图像在X方向模糊处理后绘制到第二内存中,包括:
[0096]将缩小后的第一内存中的图像在X方向模糊处理后绘制到第二内存。
[0097]将背景窗口绘制到第一内存后,可以设定缩小倍数缩小第一内存中的图像,然后再对缩小后的第一内存中的图像在X方向模糊处理,设定缩小倍数可以按照实际需要进行设定,例如,1.5倍、2倍、2.5倍等等。
[0098]通过缩小第一内存中的图像可以降低图像的分辨率,从而实现可以更加便捷地进行模糊处理。
[0099]可选的,S14中的叠加前景窗口和模糊处理后的背景窗口的步骤包括:
[0100]将前景窗口绘制到帧缓冲区中;以及,
[0101]以设定放大倍数将模糊处理的背景窗口绘制到帧缓冲区中,设定缩小倍数与设定放大倍数相等。
[0102]相关技术中,直接将前景窗口和背景窗口绘制到帧缓冲区中,从而实现显示应用程序的用户界面,在本实施例中,由于以设定缩小倍数缩小了第一内存中的图像,因此,为了保证背景窗口可以全屏显示,还需要再以放大设定倍数将模糊处理的背景窗口绘制到帧缓冲区中,从而实现用户界面的背景模糊。
[0103]其中,设定放大倍数可以按照实际需要进行设定,例如,1倍、2倍、3倍、4倍、5倍、
6.5倍等等,设定缩小倍数与设定放大倍数需要相等,从而可以保证背景窗口全屏显示。
[0104]图2所示是根据一示例性实施例示出的另一种用户界面的背景模糊方法的流程图,如图2所示,该方法用于终端设备中,假设终端设备上设置安卓(Android)系统,在Android系统中,是由SurfaceFlinger (外观传递者)模块负责应用程序的用户界面显示的,该方法的执行主体可以是SurfaceFlinger模块,包括以下步骤。
[0105]在步骤S21中,获取应用程序包括的多个窗口。
[0106]在步骤S22中,检测多个窗口是否携带第二标识信息。
[0107]在步骤S23中,若检测到一个窗口携带第二标识信息,将多个窗口组成的窗口序列中一个窗口之后的窗口确定为背景窗口,将多个窗口中除背景窗口之外的其他窗口确定为前景窗口。
[0108]假设应用程序包括5个窗口,这5个窗口组成窗口队列,并分别进行编号1、2、3、4、5,且第3个窗口设有第二标识信息,例如BLUR_BEHIND。
[0109]SurfaceFlinger检测到第3个窗口携带BLUR_BEHIND后,确定第1、2、3个窗口为前景窗口,第
文档序号 :
【 9646371 】
技术研发人员:朱才,李伟星,王亚辉
技术所有人:小米科技有限责任公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
技术研发人员:朱才,李伟星,王亚辉
技术所有人:小米科技有限责任公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除