调整对象颜色的方法、装置、电子设备及计算机存储介质与流程

文档序号:26003656发布日期:2021-07-23 21:21阅读:61来源:国知局
调整对象颜色的方法、装置、电子设备及计算机存储介质与流程

本发明实施例涉及计算机技术领域,尤其涉及一种调整对象颜色的方法、装置、电子设备及计算机存储介质。



背景技术:

随着计算机技术和通信技术的发展,实现各种各样功能的app(应用)已逐渐深入人们工作和生活。在app提供的众多功能中,对界面或者界面中展示的组件进行颜色调整是其中的功能项之一。

目前,这种颜色调整多是根据app使用的场景模式进行适应性调整,例如,在日间模式时,界面背景色为白色而前景文字为黑色,而在夜间模式时,界面背景色为黑色而前景文字为白色,等等。不管什么样的界面或组件,调整后的颜色都是一样的,也即,统一按照固定值进行调整。

但是,目前的这种调整方式,调整方式比较单一,调整效果较差。



技术实现要素:

有鉴于此,本发明实施例提供一种调整对象颜色的方案,以至少部分解决上述问题。

根据本发明实施例的第一方面,提供了一种调整对象颜色的方法,包括:获取数据对象背景颜色的明暗度;若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景颜色的对比度;若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

根据本发明实施例的第二方面,提供了一种调整对象颜色的装置,包括:获取模块,用于获取数据对象背景颜色的明暗度;确定模块,用于若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景颜色的对比度;调整模块,用于若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的调整对象颜色的方法对应的操作。

根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的调整对象颜色的方法。

根据本发明实施例提供的调整对象颜色的方案,首先获取数据对象背景颜色的明暗度,在该明暗度符合候选调整标准时,表示存在需要调整前景颜色的可能性,再根据数据对象的前景颜色和背景颜色的对比度最终确定是否需要对前景颜色进行调整,并在确定需要时进行前景颜色调整。通过这种方式,一方面,无需依赖数据对象的显示模式,也无需依赖显示模式中设定的前背景的颜色值,可以自行根据所述明暗度和所述对比度进行自适应调整,且调整后的前背景颜色更为适配,大大降低了出现前背景颜色不适配的概率,具有较好的调整效果;另一方面,本发明实施例提供的方案,可适用于各种具有前背景颜色调整需求的场景,自动进行颜色调整,具有较高的普适性,无需针对每一个数据对象分别设置具体的调整方式,使得对数据对象的颜色调整更为灵活,也大大提高了开发人员的设计效率和开发效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1a为根据本发明实施例一的一种调整对象颜色的方法的步骤流程图;

图1b为图1a所示实施例的一种使用场景的示意图;

图2a为根据本发明实施例二的一种调整对象颜色的方法的步骤流程图;

图2b为图2a所示实施例的第一种使用场景的示意图;

图2c为图2a所示实施例的第二种使用场景的示意图;

图2d为图2a所示实施例的第三种使用场景的示意图;

图3为根据本发明实施例三的一种调整对象颜色的装置的结构框图;

图4为根据本发明实施例四的一种调整对象颜色的装置的结构框图;

图5为根据本发明实施例五的一种电子设备的结构示意图。

具体实施方式

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

下面结合本发明实施例附图进一步说明本发明实施例具体实现。

实施例一

参照图1a,示出了根据本发明实施例一的一种调整对象颜色的方法的步骤流程图。

本实施例的调整对象颜色的方法包括以下步骤:

步骤s102:获取数据对象背景颜色的明暗度。

本发明实施例中,所述数据对象可以是任意适当的具有前背景颜色的对象,包括但不限于:页面对象、容器对象、组件对象,等等。

所述数据对象背景颜色的明暗度可以表征背景颜色的明亮和黑暗程度,在一种可行方式中,可以用背景颜色的亮度表征背景颜色的明暗度。

步骤s104:若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景的对比度。

其中,所述候选调整标准用于指示基于所述数据对象的背景颜色调整前景颜色的可能性,该候选调整标准可以由本领域技术人员根据实际业务场景的需求进行适当的设置,本发明实施例对此不作限制。

在一种可行方式中,可以wcag(web内容无障碍指南)标准中的规定为基准,根据实际业务需求进行适当调整设置或者采用wcag中的设置。例如,可以设置相应的阈值或阈值范围,若明暗度大于该阈值,或者小于该阈值,或者超出该阈值范围,或者落入该阈值范围,则可认为有可能需要进行后续调整,进而确定数据对象的前景颜色和背景颜色的对比度,以通过对比度最终确定是否确实需要调整。

前景颜色和背景颜色的对比度可以表征两者的颜色适配或协调程度,在一种可行方式中,可以用两者的亮度比值表征所述对比度。但不限于此,其它可表征两者的颜色适配程度或颜色协调程度的指标也同样适用。

步骤s106:若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

若根据所述对比度确定确实需要对数据对象的前景颜色进行调整,以使其与背景颜色更为适配,则可以按照一定的调整步长对其进行调整。

例如,若对比度指示前景颜色和背景颜色差别较大,则可对前景颜色按照调整步长逐步进行调整,直至调整后的前景颜色和背景颜色的对比度符合预设的标准,如落入预设的等级范围或者大于等级范围中的预定值或者小于等级范围中的预定值,等等。

在具体进行调整时,可以对全部前景颜色进行调整。但不限于此,也可以只调整其中的一部分,还可以对前景颜色进行分区块调整。基于此,在一种可行方式中,在按照调整步长对至少部分前景颜色进行调整时,可以先确定所述前景颜色对应的至少一个待调整区域,按照调整步长,对至少一个待调整区域中的部分或全部区域进行颜色调整。因前景颜色为数据对象的前景颜色,因此,待调整区域也属于数据对象中的区域。例如,当前景颜色为页面对象中的文字部分对应的颜色时,则可以对该文字部分的颜色进行分区域或分区块分别进行调整。采用这种方式,使得调整方式更加多样化,也可以有更加个性化的调整效果。

以下,以一个使用场景示例对上述过程进行示意性说明。本场景中,设定数据对象为展示有文字的浏览器页面,该页面中展示的文字为前景,文字的颜色设定为第一颜色,该页面的背景颜色设定为第二颜色。基于此,对文字颜色的调整如图1b所示,浏览器应用先获取第二颜色的明暗度;根据明暗度与候选调整标准的比对确定第二颜色的明暗度符合候选调整标准;再确定浏览器页面的第一颜色与第二颜色的对比度;若确定该对比度符合调整标准,则对第一颜色进行调整。

由上可见,通过本实施例,首先获取数据对象背景颜色的明暗度,在该明暗度符合候选调整标准时,表示存在需要调整前景颜色的可能性,再根据数据对象的前景颜色和背景颜色的对比度最终确定是否需要对前景颜色进行调整,并在确定需要时进行前景颜色调整。通过这种方式,一方面,无需依赖数据对象的显示模式,也无需依赖显示模式中设定的前背景的颜色值,可以自行根据所述明暗度和所述对比度进行自适应调整,且调整后的前背景颜色更为适配,大大降低了出现前背景颜色不适配的概率,具有较好的调整效果;另一方面,本实施例提供的方案,可适用于各种具有前背景颜色调整需求的场景,自动进行颜色调整,具有较高的普适性,无需针对每一个数据对象分别设置具体的调整方式,使得对数据对象的颜色调整更为灵活,也大大提高了开发人员的设计效率和开发效率。

本实施例的调整对象颜色的方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、pad等)和pc机等。

实施例二

参照图2a,示出了根据本发明实施例二的一种调整对象颜色的方法的步骤流程图。

本实施例的调整对象颜色的方法包括以下步骤:

步骤s202:获取数据对象背景颜色的明暗度。

如前所述,数据对象可以为任意适当的具有前背景颜色的对象,数据对象的背景颜色的明暗度可以通过背景颜色的亮度值表征。

基于此,在一种可行方式中,可以根据数据对象的背景颜色的亮度值,确定数据对象背景颜色的明暗度,其中,背景颜色的亮度值为yiq颜色空间中的y分量的值。一方面,以背景颜色作为基准,与实际应用情况更为贴合,适用性更好;另一方面,通过yiq颜色空间能够更准确地对配色方案进行把控和调整。

其中,yiq是ntsc(nationaltelevisionstandardscommittee)电视系统标准,y用于提供黑白电视及彩色电视的亮度信号(luminance),即亮度(brightness);i代表in-phase,色彩从橙色到青色;q代表quadrature-phase,色彩从紫色到黄绿色。

本实施例中,数据对象背景颜色的明暗度使用yiq颜色空间的y分量的值。其中,y分量的计算通过对rgb各分量的值取不同的权重系数计算而来。一种计算方式yiq和rgb颜色空间之间的转变关系如下:

基于此,y分量的一种计算方式可以为:

y=r*0.299+g*0.587+b*0.114

由此,即可获得y分量的数值,作为数据对象的背景颜色的明暗度。但不限于此,在实际应用中,也可以通过其它适当方式获得背景颜色的明暗度,如通过yuv颜色空间获得等,均可适用于本发明实施例的方案。并且,上述rgb颜色空间转换为yiq颜色空间时的权重也仅为示例性说明,本领域技术人员可以根据实际情况选用其它的权重,本发明实施例对此不作限制。

步骤s204:判断背景颜色的明暗度是否符合候选调整标准;若符合,则执行步骤s206;若不符合,则不作调整。

其中,所述候选调整标准用于指示基于所述数据对象的背景颜色调整前景颜色的可能性。在一种可行方式中,候选调整标准可以包括:背景颜色的明暗度小于预设阈值。其中,所述预设阈值可以由本领域技术人员根据实际需求适当设置。

可选地,本发明实施例中,所述预设阈值可以设置为150,也即,y大于150的为明色系,否则为暗色系。在另一种可行方式中,可以把预设阈值设定为125,即y大于125为明色系,否则为暗色系。将预设阈值设置为150,可以使得明暗对比更为明显,对是否需要进行前景颜色调整提供更易于判断的依据。

步骤s206:若背景颜色的明暗度符合候选调整标准,则确定数据对象的前景颜色和背景颜色的对比度。

在一种可行方式中,确定数据对象的前景颜色和背景颜色的对比度可以实现为:对数据对象的前景颜色和背景颜色分别进行亮度归一化处理,获得对应于前景颜色的第一亮度值和对应于背景颜色的第二亮度值;根据第一亮度值和第二亮度值的比值,确定前景颜色和背景颜色的对比度。通过所述对比度,可以确定前景颜色和背景颜色的适配程度;通过亮度归一化处理,可以使得前景颜色和背景颜色的亮度采用统一的标准,也便于进行后续对比度计算。

在具体计算前景颜色的亮度和背景颜色的亮度时,一个示例方式中,可以采用l=0.2126*r+0.7152*g+0.0722*b的方式分别计算前景颜色的亮度和背景颜色的亮度。

其中,上面公式中的r,gandb分别定义如下:

//r的定义

ifrsrgb<=0.03928

thenr=rsrgb/12.92

elser=((rsrgb+0.055)/1.055)^2.4

//g的定义

ifgsrgb<=0.03928

theng=gsrgb/12.92

elseg=((gsrgb+0.055)/1.055)^2.4

//b的定义

ifbsrgb<=0.03928

thenb=bsrgb/12.92

elseb=((bsrgb+0.055)/1.055)^2.4

其中,rsrgb,gsrgb,bsrgb分别为:rsrgb=r8bit/255;gsrgb=g8bit/255;bsrgb=b8bit/255(b)。

基于上述设定,所述对比度(表示为r)可以为:

r=(l1+0.05)/(l2+0.05)

其中,l1表示前景颜色和背景颜色中相对浅色的颜色的亮度,而l2则表示前景颜色和背景颜色中相对深色的颜色的亮度。也即,本发明实施例中,“前景颜色和背景颜色的对比度”并不限定前景颜色和背景颜色的具体比较关系。

步骤s208:若根据所述对比度确定需要对前景颜色进行调整,则按照调整步长对至少部分前景颜色进行调整。

在根据对比度确定是否需要对前景颜色进行调整时,可以预先设定一个等级范围,若对比度落在该等级范围内,则无需进行前景颜色调整,而若未落在该等级范围内,则需要进行前景颜色调整。或者,可以从预先设定的等级范围中选取一个值作为预定值,若对比度大于等于该预定值,则无需进行前景颜色调整,而若小于该预定值,则需要进行前景颜色调整。其中,所述等级范围及所述预定值均可以由本领域技术人员根据实际的业务场景需求适当设置。在一种可行方式中,可以基于wcag2.0标准进行设置,如将等级范围设置为1-21。进一步地,可以将所述预定值设定为12。基于纯白色和纯白色的对比度为1,纯白色和纯黑色的对比度为21,在将预定值设定为12时,对前景颜色按照调整步长逐步进行调整,若调整后的对比度大于或等于12,则可以停止调整;否则,继续调整,直至所述对比度大于或等于12。

在基于已有背景颜色确定前景颜色的场景中,通常情况下该前景颜色会给出一个默认值,但采用该默认值的前景颜色与背景颜色的对比度仍然存在需要调整的可能。此种情况下,基于默认值,按照调整步长调整确定前景颜色的时候,如果计算之后两个颜色的对比度大于或等于12,则可确定此时的前景颜色符合要求,停止调整,据此确定待生成的前景颜色。

但不限于此,在实际应用中,本领域技术人员可以根据实际需求采用其它的预定值设置,比如页面对象中的背景颜色和文字的前景颜色要求的对比度就可以稍高,如设置为15;对于组件对象中,文字的前景颜色和按钮体的背景颜色的对比度可以稍低,如设置为小于或等于12。

基于此,本步骤可以实现为:若前景颜色和背景颜色的对比度小于预设的等级范围中的预定值,则确定需要对数据对象的前景颜色进行调整,并按照调整步长对至少部分所述前景颜色进行调整。根据具体的业务场景设置适当的等级范围及预定值,一方面使得本发明实施例提供的方案使用更为灵活;另一方面,也使得对前景颜色调整的判断更为准确。

在具体调整时,可以按照固定调整步长对至少部分所述前景颜色进行调整;或者,获取所述前景颜色和所述背景颜色的差异程度,根据所述差异程度和期望调整速度确定调整步长,再按照确定的所述调整步长对至少部分所述前景颜色进行调整。采用按照固定调整步长的方式,步长设置和调整实现都较为简单,实现成本低;采用根据差异程度和期望调整速度确定调整步长的方式,调整方式更为灵活,也更符合实际的数据对象的需求。

其中,不管是固定调整步长还是需要动态确定的调整步长,其具体实现方式都可以由本领域技术人员根据实际需求适当设定。例如,固定调整步长可以设置为10-20像素之间的数值。而对于动态确定调整步长的情况,若前景颜色和背景颜色的差异程度较小,且无快速调整需求,则可以设置小一些的调整步长,如差异为100像素,则调整步长可设置为10。而若前景颜色和背景颜色的差异程度较大,一般会希望尽快调整到位,则可以设置稍大一些的调整步长,如差异为200像素,则调整步长可设置为20。需要说明的是,上述仅为示例性说明,本发明实施例不对调整步长的具体实现方式进行限定。

以下,以多种可能的数据对象的形式为示例,对上述过程进行使用场景的示例性说明。

在第一种使用场景中,设定数据对象为展示文字的页面对象(通过页面实现的对象),该页面对象的前景颜色为文字颜色,标记为第一颜色,该页面对象的背景颜色为衬于文字之下的颜色,标记为第二颜色。则,在本使用场景中,先计算第二颜色的亮度y,若y<150,再按照前述方式计算第一颜色和第二颜色的对比度r,若r<12,则对第一颜色进行调整,本使用场景中设定按照固定调整步长,每次调整10像素,在每次调整后,计算调整后的第一颜色和第二颜色的新的对比度,直至该对比度r≥12。上述过程的示意如图2b所示。通过这种方式,可以有效实现页面的颜色调整。

在第二种使用场景中,如图2c所示,设定数据对象为容器对象(通过容器组件实现的对象),该容器对象包括前景组件,且该前景组件中还设置有子组件。本使用场景中,设定前景组件为文字组件,该文字组件中还设置有按钮组件且该按钮组件上具有文字。基于该设定,该容器对象的背景颜色为衬于前景组件之下的颜色,标记为第二颜色1。而前景颜色可以先设定为文字组件的颜色,标记为第一颜色1。先计算第二颜色1的亮度y1,若y1<150,再按照前述方式计算第一颜色1和第二颜色1的对比度r1,若r1<12,则对第一颜色1进行调整,本使用场景中仍设定按照固定调整步长进行调整,直至调整后的第一颜色1与第二颜色1的对比度r≥12。在完成对第一颜色1的调整后,再以该调整后的第一颜色1作为按钮组件的背景颜色,标记为第二颜色2,把按钮组件的整体组件颜色标记为第一颜色2。则,先计算第二颜色2的亮度y2,若y2<150,再按照前述方式计算第一颜色2和第二颜色2的对比度r2,若r2<12,则对第一颜色2进行整体调整,本使用场景中仍设定按照固定调整步长进行调整,直至调整后的第一颜色2与第二颜色2的对比度r≥12,调整后的第一颜色2标记为第一颜色3。通过这种方式,可以有效实现容器对象的颜色调整。

若容器组件为卡片组件,可以将卡片的主题背景色确定为其背景颜色,前景颜色则可以为卡片中文字的颜色,或者,前景颜色也可以为根据卡片中的普通文本、按钮标签的背景和文字的颜色、线的颜色中的至少一种确定的颜色等。

在第三种使用场景中,设定数据对象为组件对象(通常可以为非容器类组件),如图2d所示,具体为具有文字的按钮组件。该按钮组件的前景颜色为按钮上的文字颜色,标记为第一颜色,该按钮组件的背景颜色为组件体的颜色,标记为第二颜色。则,在本使用场景中,先计算第二颜色的亮度y,若y<150,再按照前述方式计算第一颜色和第二颜色的对比度r,若r<12,则对第一颜色进行调整,本使用场景中设定为动态确定调整步长。假设对比度r指示第一颜色和第二颜色的差别较大,据此确定对应的调整步长为每次20像素,在每次调整后,计算调整后的第一颜色和第二颜色的新的对比度,直至该对比度r≥12。通过这种方式,可以有效实现组件对象的颜色调整。

需要说明的是,在实际应用中,上述第一至第三使用场景的调整方式可以任意结合使用。例如,在第二中使用场景中,对按钮组件的处理也可以采用第三使用场景中的方式。又例如,对于页面对象,假如页面对应中也设置有相应的组件对象,则也可以按照第二或第三种使用场景对其进行处理。

但不限于此,如页面对象或容器对象或其它适当数据对象中包含有前景组件时,所述按照调整步长对所述前景颜色进行调整可以实现为:按照调整步长对所述前景组件的组件体的颜色进行调整。此种方式中,因主要对组件体的颜色进行调整,调整速度更快,效率也更高。

若所述前景组件中还包含有文字;则所述按照调整步长对所述前景颜色进行调整可以实现为:按照调整步长对所述前景组件的组件体的颜色和所述前景组件包含的文字的颜色分别进行调整。这种方式下,组件体基于组件体的颜色进行调整,文字基于文字的颜色进行调整。因既对组件体的颜色进行调整,也对其上的文字的颜色进行调整,使得调整后的整体效果可与背景颜色更为搭配和协调,并且,组件体和文字的颜色也会更为适配。

上述使用场景中,首先根据数据对象的背景颜色计算出该背景颜色的明暗度,通过预设阈值来判断是否需要进行前景颜色的修改;如判断需要更改前景颜色,则分别计算前景颜色和背景颜色归一化后的亮度值,然后再计算两种颜色的对比度,看对比度是否在可以接受的等级范围之内。在具体使用中,可以针对ui组件来进行设定,不同使用场景的不同组件,其文字的颜色、大小和粗细等情况都不同,设定的等级范围也可以不同,以保证前景颜色和背景颜色自动搭配的舒适度。如计算的对比度不在规定的等级范围,则需要进行前景颜色的修改。例如,前景颜色的修改可以根据rgba各个颜色分量,通过调整步长的增减来进行颜色的变深和变浅来实现。

通过本实施例,首先获取数据对象背景颜色的明暗度,在该明暗度符合候选调整标准时,表示存在需要调整前景颜色的可能性,再根据数据对象的前景颜色和背景颜色的对比度最终确定是否需要对前景颜色进行调整,并在确定需要时进行前景颜色调整。通过这种方式,一方面,无需依赖数据对象的显示模式,也无需依赖显示模式中设定的前背景的颜色值,可以自行根据所述明暗度和所述对比度进行自适应调整,且调整后的前背景颜色更为适配,大大降低了出现前背景颜色不适配的概率,具有较好的调整效果;另一方面,本实施例提供的方案,可适用于各种具有前背景颜色调整需求的场景,自动进行颜色调整,具有较高的普适性,无需针对每一个数据对象分别设置具体的调整方式,使得对数据对象的颜色调整更为灵活,也大大提高了开发人员的设计效率和开发效率。

本实施例的调整对象颜色的方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、pad等)和pc机等。

实施例三

参照图3,示出了根据本发明实施例三的一种调整对象颜色的装置的结构框图。

本实施例的调整对象颜色的装置包括:获取模块302,用于获取数据对象背景颜色的明暗度;确定模块304,用于若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景颜色的对比度;调整模块306,用于若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

本实施例的调整对象颜色的装置用于实现前述多个方法实施例中相应的调整对象颜色的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的调整对象颜色的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。

实施例四

参照图4,示出了根据本发明实施例四的一种调整对象颜色的装置的结构框图。

本实施例的调整对象颜色的装置包括:获取模块402,用于获取数据对象背景颜色的明暗度;确定模块404,用于若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景颜色的对比度;调整模块406,用于若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

可选地,确定模块404,用于若所述明暗度符合候选调整标准,则对所述数据对象的前景颜色和背景颜色分别进行亮度归一化处理,获得对应于所述前景颜色的第一亮度值和对应于所述背景颜色的第二亮度值;根据所述第一亮度值和所述第二亮度值的比值,确定所述前景颜色和所述背景颜色的对比度。

可选地,调整模块406,用于若所述前景颜色和所述背景颜色的对比度超出预设的等级范围,则确定需要对所述前景颜色进行调整,按照调整步长对至少部分所述前景颜色进行调整。

可选地,确定模块404,用于若所述明暗度符合候选调整标准,则按照固定调整步长对所述前景颜色进行调整;或者,获取所述前景颜色和所述背景颜色的差异程度,根据所述差异程度和期望调整速度确定调整步长,按照确定的所述调整步长对至少部分所述前景颜色进行调整。

可选地,获取模块402,用于根据所述数据对象的背景颜色的亮度值,确定所述数据对象背景颜色的明暗度,其中,所述背景颜色的亮度值为yiq颜色空间中的y分量的值。

可选地,所述数据对象包含有前景组件;调整模块406,用于若所述前景颜色和所述背景颜色的对比度小于预设的等级范围中的预定值,则按照调整步长对所述前景组件的组件体的颜色进行调整。

可选地,所述前景组件中还包含有文字;调整模块406,用于若所述前景颜色和所述背景颜色的对比度超出预设的等级范围,则按照调整步长对所述前景组件的组件体的颜色和所述前景组件包含的文字的颜色分别进行调整。

可选地,所述候选调整标准包括:所述明暗度小于预设阈值。

本实施例的调整对象颜色的装置用于实现前述多个方法实施例中相应的调整对象颜色的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的调整对象颜色的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。

实施例五

参照图5,示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(communicationsinterface)504、存储器(memory)506、以及通信总线508。

其中:

处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。

通信接口504,用于与其它电子设备或服务器进行通信。

处理器502,用于执行程序510,具体可以执行上述调整对象颜色的方法实施例中的相关步骤。

具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。

处理器502可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行以下操作:获取数据对象背景颜色的明暗度;若所述明暗度符合候选调整标准,则确定所述数据对象的前景颜色和所述背景颜色的对比度;若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对至少部分所述前景颜色进行调整。

在一种可选的实施方式中,程序510还用于使得处理器502在确定所述数据对象的前景颜色和所述背景颜色的对比度时:对所述数据对象的前景颜色和背景颜色分别进行亮度归一化处理,获得对应于所述前景颜色的第一亮度值和对应于所述背景颜色的第二亮度值;根据所述第一亮度值和所述第二亮度值的比值,确定所述前景颜色和所述背景颜色的对比度。

在一种可选的实施方式中,程序510还用于使得处理器502在若根据所述对比度确定需要对所述前景颜色进行调整,则按照调整步长对所述前景颜色进行调整时:若所述前景颜色和所述背景颜色的对比度小于预设的等级范围中的预定值,则确定需要对所述前景颜色进行调整,按照调整步长对至少部分所述前景颜色进行调整。

在一种可选的实施方式中,程序510还用于使得处理器502在按照调整步长对所述前景颜色进行调整时:按照固定调整步长对所述前景颜色进行调整;或者,获取所述前景颜色和所述背景颜色的差异程度,根据所述差异程度和期望调整速度确定调整步长,按照确定的所述调整步长对至少部分所述前景颜色进行调整。

在一种可选的实施方式中,程序510还用于使得处理器502在获取数据对象背景颜色的明暗度时:根据所述数据对象的背景颜色的亮度值,确定所述数据对象背景颜色的明暗度,其中,所述背景颜色的亮度值为yiq颜色空间中的y分量的值。

在一种可选的实施方式中,所述数据对象包含有前景组件;程序510还用于使得处理器502在按照调整步长对至少部分所述前景颜色进行调整时:按照调整步长对所述前景组件的组件体的颜色进行调整。

在一种可选的实施方式中,所述前景组件中还包含有文字;程序510还用于使得处理器502在按照调整步长对至少部分所述前景颜色进行调整时:按照调整步长对所述前景组件的组件体的颜色和所述前景组件包含的文字的颜色分别进行调整。

在一种可选的实施方式中,所述候选调整标准包括:所述明暗度小于预设阈值。

程序510中各步骤的具体实现可以参见上述调整对象颜色的方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

通过本实施例的电子设备,首先获取数据对象背景颜色的明暗度,在该明暗度符合候选调整标准时,表示存在需要调整前景颜色的可能性,再根据数据对象的前景颜色和背景颜色的对比度最终确定是否需要对前景颜色进行调整,并在确定需要时进行前景颜色调整。通过这种方式,一方面,无需依赖数据对象的显示模式,也无需依赖显示模式中设定的前背景的颜色值,可以自行根据所述明暗度和所述对比度进行自适应调整,且调整后的前背景颜色更为适配,大大降低了出现前背景颜色不适配的概率,具有较好的调整效果;另一方面,本实施例提供的方案,可适用于各种具有前背景颜色调整需求的场景,自动进行颜色调整,具有较高的普适性,无需针对每一个数据对象分别设置具体的调整方式,使得对数据对象的颜色调整更为灵活,也大大提高了开发人员的设计效率和开发效率。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cdrom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的调整对象颜色的方法。此外,当通用计算机访问用于实现在此示出的调整对象颜色的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的调整对象颜色的方法的专用计算机。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

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