显示全局控件的方法、装置及移动终端
技术领域
本发明属于可视化技术领域,尤其涉及一种显示全局控件的方法、装置及移动终端。
背景技术
目前,可视化操作系统(移动终端或PC端)中有各种各样的控件,比如全局控件和局部控件。全局控件是不依赖某个应用的控件,例如在手机的任意界面,用户按下手机音量键后出现的音量调节控件。
然而,在实现本发明过程中,发明人发现现有技术提供的显示全局控件的方法至少存在如下问题:
由于全局控件不依赖某个应用,所以无法通过应用随时改变该控件。当应用的背景色和全局控件的主题色很接近时,会对用户造成视觉上的干扰。
发明内容
有鉴于此,本发明实施例提供一种显示全局控件的方法、装置及移动终端,以解决现有技术提供的显示全局控件的方法,当应用的背景色和全局控件的主题色很接近时,会对用户造成视觉上的干扰的问题。
第一方面,提供一种显示全局控件的方法,包括:
判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近;
如果两者接近,则将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色;
在所述当前背景上显示所述全局控件。
结合第一方面,在第一方面的第一种可能的实现方式中,所述判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近,包括:
获取全局控件的主题色的平均色值;
获取显示所述全局控件的当前背景的背景色的平均色值;
将所述主题色的平均色值与所述背景色的平均色值进行比较,如果两者相减之后得到的三个绝对值之和小于预设的干扰阈值,则判定所述全局控件的主题色与显示所述全局控件的当前背景的背景色接近。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色之前,包括:
预先为所述全局控件定义一组主题色,所述主题色的颜色用所述主题色的平均色值来表示,所述主题色的平均色值包括常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色,包括:
获取所述背景色的对比色的平均色值;
将所述背景色的对比色的平均色值与所述一组主题色中的每个主题色的平均色值进行比较,获取两者相减之后得到的三个绝对值之和的平均值;
将平均值最小的平均色值对应的主题色作为所述全局控件的主题色。
第二方面,提供一种显示全局控件的装置,包括:
判断单元,用于判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近;
更换单元,用于如果所述判断单元判定全局控件的主题色与显示所述全局控件的当前背景的背景色接近,则将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色;
显示单元,用于在所述更换单元将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色后,在所述当前背景上显示所述全局控件。
结合第二方面,在第二方面的第一种可能的实现方式中,所述判断单元,包括:
第一获取模块,用于获取全局控件的主题色的平均色值;
第二获取模块,用于获取显示所述全局控件的当前背景的背景色的平均色值;
判断模块,用于将所述第一获取模块获取的主题色的平均色值与所述第二获取模块获取的背景色的平均色值进行比较,如果两者相减之后得到的三个绝对值之和小于预设的干扰阈值,则判定所述全局控件的主题色与显示所述全局控件的当前背景的背景色接近。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置,还包括:
主题色预定义单元,用于预先为所述全局控件定义一组主题色,所述主题色的颜色用所述主题色的平均色值来表示,所述主题色的平均色值包括常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述更换单元,包括:
第三获取模块,用于获取所述背景色的对比色的平均色值;
第四获取模块,用于将所述第三获取模块获取的背景色的对比色的平均色值与所述主题色预定义单元预先定义的一组主题色中的每个主题色的平均色值进行比较,获取两者相减之后得到的三个绝对值之和的平均值;
更换模块,用于将所述第四获取模块获取到的平均值最小的平均色值对应的主题色作为所述全局控件的主题色。
第三方面,提供一种移动终端,所述移动终端包括如第二方面所述的显示全局控件的装置。
结合第三方面,在第三方面的第一种可能的实现方式中,所述移动终端为智能手机或平板电脑。
在本发明实施例,在全局控件的主题色与显示所述全局控件的当前背景的背景色接近时,先更换所述全局控件的主题色为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色,再在所述当前背景上显示所述全局控件,从而使得全局控件的主题色与当前背景的背景色不再接近,不会给用户造成视觉干扰,克服了现有技术提供的显示全局控件的方法,当应用的背景色和全局控件的主题色很接近时,会对用户造成视觉上的干扰的问题。
附图说明
图1是本发明显示全局控件的方法实施例的实现流程图;
图2是本发明显示全局控件的方法实施例中,判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近的实现流程图;
图3是本发明显示全局控件的装置实施例的结构框图;
图4是本发明移动终端实施例的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,在全局控件的主题色与显示所述全局控件的当前背景的背景色接近时,先更换所述全局控件的主题色为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色,再在所述当前背景上显示所述全局控件,从而使得全局控件的主题色与当前背景的背景色不再接近,不会给用户造成视觉干扰。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的显示全局控件的方法的实现流程,详述如下:
在步骤S101中,判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近,如果两者接近,则执行步骤S102。
在本发明实施例中,在当前背景上显示全局控件之前,可以获取全局控件的主题色以及显示所述全局控件的当前背景的背景色,并判断所述全局控件的主题色以及显示所述全局控件的当前背景的背景色是否接近,如果两者接近,则可以判定全局控件的当前主题色会对用户造成视觉干扰,可以通过步骤S102更换全局控件的主题色为与背景色不接近的颜色后再显示,以避免全局控件的主题色与背景色接近对用户造成的视觉干扰;如果两者不接近,则直接在当前背景上显示所述全局控件。
为了避免全局控件的主题色变化频繁,可以设定干扰阈值B,干扰阈值B的大小可以由系统实现者规定。
具体的,可以通过图2所示的步骤判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近:
步骤1、获取全局控件的主题色的平均色值(r1,g1,b1);
步骤2、获取显示所述全局控件的当前背景的背景色的平均色值(r,g,b);
步骤3、将所述主题色的平均色值(r1,g1,b1)与所述背景色的平均色值(r,g,b)进行比较,如果两者相减之后得到的三个绝对值(|r-r1|,|g-g1|,|b-b1|)之和小于预设的干扰阈值B,则判定所述全局控件的主题色与显示所述全局控件的当前背景的背景色接近。
具体的,可以对显示全局控件的当前背景的像素点随机抽样,将抽样数据取平均值,视为当前背景的背景色的平均色值。其中,抽样的像素点越多,则计算得到的平均色值越接近当前背景的背景色的平均色值。
计算当前背景的背景色的平均色值的方法为:将抽样数据按r、g、b分别相加,然后除以抽样数量,得到的r、g、b值为抽样数据的平均值,也即计算得到的当前背景的背景色的平均色值。
在步骤S102中,将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色。
在本发明实施例中,可以预先为所述全局控件定义一组主题色,便于更换所述全局控件的主题色,所述主题色的颜色用所述主题色的平均色值来表示,所述主题色的平均色值包括常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值,如{(0,0,0),(255,255,255),(128,0,0),(127,255,255)...}。平均色值为(0,0,0)的主题色和平均色值为(255,255,255)的主题色是一组对比色。
其中,主题色的定义方式可由系统实现者根据系统中常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值来定义。
在确定全局控件的主题色与显示所述全局控件的当前背景的背景色接近后,可以先获取所述背景色的对比色的平均色值,再将所述背景色的对比色的平均色值与所述一组主题色中的每个主题色的平均色值进行比较,然后获取两者相减之后得到的三个绝对值之和的平均值,最后将平均值最小的平均色值对应的主题色作为所述全局控件的主题色。
比如,若背景色的平均色值为(r,g,b),则获取到的背景色的对比色的平均色值为(255-r,255-g,255-b),将平均色值(255-r,255-g,255-b)与预先定义的主题色的平均色值一一进行对比,计算出平均色值(255-r,255-g,255-b)与各个主题色的平均色值相减之后的绝对值,比如,预先定义的全局控件的某个主题色的平均色值为(r1,g1,b1),则获取平均色值(255-r,255-g,255-b)与平均色值(r1,g1,b1)相减的绝对值,即(|255-r-r1|,|255-g-g1|,|255-b-b1|),并求取|255-r-r1|、|255-g-g1|与|255-b-b1|三者相加得到的平均值,如果这个平均值为计算得到的所有的平均值中最小的,则认为平均色值(r1,g1,b1)为背景色的对比色的平均色值,可以将所述全局控件的主题色更换为平均色值(r1,g1,b1)对应的主题色。
在步骤S103中,在所述当前背景上显示所述全局控件。
在本发明实施例中,通过步骤S102更换所述全局控件的主题色为与当前背景的背景色不接近的主题色后,在苏搜狐当前背景上显示所述全局控件。由于更换主题色后的全局控件的主题色与当前背景的背景色不接近,所以不会给用户造成视觉干扰。
本实施例,在全局控件的主题色与显示所述全局控件的当前背景的背景色接近时,先更换所述全局控件的主题色为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色,再在所述当前背景上显示所述全局控件,从而使得全局控件的主题色与当前背景的背景色不再接近,不会给用户造成视觉干扰,克服了现有技术提供的显示全局控件的方法,当应用的背景色和全局控件的主题色很接近时,会对用户造成视觉上的干扰的问题。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图3示出了本发明实施例二提供的显示全局控件的装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该显示全局控件的装置3可以是内置于电子设备中的软件单元、硬件单元或者软硬件结合的单元,该电子设备可以是移动终端或者PC机,该显示全局控件的装置3包括:判断单元31、更换单元32和显示单元33。
其中,判断单元31,用于判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近;
更换单元32,用于如果所述判断单元31判定全局控件的主题色与显示所述全局控件的当前背景的背景色接近,则将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色;
显示单元33,用于在所述更换单元32将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色后,在所述当前背景上显示所述全局控件。
进一步地,所述判断单元31,包括:
第一获取模块,用于获取全局控件的主题色的平均色值;
第二获取模块,用于获取显示所述全局控件的当前背景的背景色的平均色值;
判断模块,用于将所述第一获取模块获取的主题色的平均色值与所述第二获取模块获取的背景色的平均色值进行比较,如果两者相减之后得到的三个绝对值之和小于预设的干扰阈值,则判定所述全局控件的主题色与显示所述全局控件的当前背景的背景色接近。
进一步地,所述装置3,还包括:
主题色预定义单元,用于预先为所述全局控件定义一组主题色,所述主题色的颜色用所述主题色的平均色值来表示,所述主题色的平均色值包括常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值。
具体的,所述更换单元32,包括:
第三获取模块,用于获取所述背景色的对比色的平均色值;
第四获取模块,用于将所述第三获取模块获取的背景色的对比色的平均色值与所述主题色预定义单元预先定义的一组主题色中的每个主题色的平均色值进行比较,获取两者相减之后得到的三个绝对值之和的平均值;
更换模块,用于将所述第四获取模块获取到的平均值最小的平均色值对应的主题色作为所述全局控件的主题色。
本发明实施例提供的显示全局控件的装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
实施例三
图4示出了本发明实施例三提供的移动终端的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该移动终端4可以为智能手机或平板电脑,包括实施例二中所述的显示全局控件的装置3,该显示全局控件的装置3包括:判断单元31、更换单元32和显示单元33。
其中,判断单元31,用于判断全局控件的主题色与显示所述全局控件的当前背景的背景色是否接近;
更换单元32,用于如果所述判断单元31判定全局控件的主题色与显示所述全局控件的当前背景的背景色接近,则将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色;
显示单元33,用于在所述更换单元32将所述全局控件的主题色更换为所述背景色的对比色或者更换为接近所述背景色的对比色的颜色后,在所述当前背景上显示所述全局控件。
进一步地,所述判断单元31,包括:
第一获取模块,用于获取全局控件的主题色的平均色值;
第二获取模块,用于获取显示所述全局控件的当前背景的背景色的平均色值;
判断模块,用于将所述第一获取模块获取的主题色的平均色值与所述第二获取模块获取的背景色的平均色值进行比较,如果两者相减之后得到的三个绝对值之和小于预设的干扰阈值,则判定所述全局控件的主题色与显示所述全局控件的当前背景的背景色接近。
进一步地,所述装置3,还包括:
主题色预定义单元,用于预先为所述全局控件定义一组主题色,所述主题色的颜色用所述主题色的平均色值来表示,所述主题色的平均色值包括常用控件的主题色的平均色值及常用控件的主题色的对比色的平均色值。
具体的,所述更换单元32,包括:
第三获取模块,用于获取所述背景色的对比色的平均色值;
第四获取模块,用于将所述第三获取模块获取的背景色的对比色的平均色值与所述主题色预定义单元预先定义的一组主题色中的每个主题色的平均色值进行比较,获取两者相减之后得到的三个绝对值之和的平均值;
更换模块,用于将所述第四获取模块获取到的平均值最小的平均色值对应的主题色作为所述全局控件的主题色。
本发明实施例提供的显示全局控件的装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
本发明实施例提供的移动终端可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。