发明内容
本公开实施例至少提供一种背景色生成的方法、装置、电子设备及存储介质,以实现在根据图片的主题色生成页面的背景色时,保持该页面中文字的可读性。
第一方面,本公开实施例提供了一种背景色生成的方法,包括:
获取位于目标背景区域中的目标图片的第一主题色信息;其中,所述第一主题色信息在所述目标图片中的像素点数量满足预设条件;
将所述第一主题色信息转换为第二主题色信息;其中,所述第一主题色信息与所述第二主题色信息的颜色模式不同;
基于所述第二主题色信息,确定所述目标背景区域的至少两种第一背景色信息,其中,所述第一背景色信息的颜色模式与所述第二主题色信息的颜色模式相同,且所述第一背景色信息中的第一颜色信息和第二颜色信息用于保持所述目标背景区域中文字内容的可读性,所述第一背景色信息中的第三颜色信息用于保持所述第二主题色信息对应的颜色风格;
基于所述至少两种第一背景色信息,渲染所述目标背景区域。
结合第一方面,本公开实施例提供了第一方面的第一种可能的实施方式,其中:获取位于目标背景区域中的目标图片的第一主题色信息,包括:
基于所述目标图片中各像素点的颜色信息,确定对应的像素点数量最多的目标颜色信息,将所述目标颜色信息作为所述第一主题色信息。
结合第一方面第一种可能的实施方式,本公开实施例提供了第一方面的第二种可能的实施方式,其中:基于所述目标图片中各个像素点的颜色信息,确定对应的像素点数量最多的目标颜色信息,包括:
获取所述目标图片中各像素点的初始颜色信息;
按照预设区间大小,将所述各像素点的初始颜色信息划分到不同的颜色区间,并将划分到同一颜色区间的多个初始颜色信息转换为相同的处理后颜色信息;
基于各像素点对应的所述处理后颜色信息,确定对应的像素点数量最多的处理后颜色信息,将所述处理后颜色信息作为目标颜色信息。
结合第一方面,本公开实施例提供了第一方面的第三种可能的实施方式,其中,基于所述至少两种第一背景色信息,渲染所述目标背景区域,包括:
将所述至少两种第一背景色信息转化为至少两种第二背景色信息;
基于所述至少两种第二背景色信息,渲染所述目标背景区域;所述第二背景色信息的颜色模式与所述第一主题色信息的颜色模式相同。
结合第一方面的第三种可能的实施方式,本公开实施例提供了第一方面的第四种可能的实施方式,其中:基于所述至少两种第二背景色信息,渲染所述目标背景区域,包括:
基于所述至少两种第二背景色信息,确定所述目标背景区域中作为背景的各个像素点的第二背景色信息;
基于确定的所述目标背景区域中作为背景的各个像素点的第二背景色信息,渲染所述目标背景区域。
结合第一方面的第四种可能的实施方式,本公开实施例提供了第一方面的第五种可能的实施方式,其中:基于所述至少两种第二背景色信息,确定所述目标背景区域中作为背景的各个像素点的第二背景色信息,包括:
计算所述至少两种第二背景色信息之间的色差信息;
基于所述色差信息,确定所述目标背景区域中作为背景的各个像素点的第二背景色信息;其中,距离较近的像素点之间的色差小于距离较远的像素点之间的色差。
结合第一方面,本公开实施例提供了第一方面的第六种可能的实施方式,其中:获取位于目标背景区域中的目标图片的第一主题色信息之前,还包括:
确定所述目标图片的分辨率;
若所述目标图片的分辨率超过设定阈值,将所述目标图片的分辨率缩小到预设分辨率。
结合第一方面,本公开实施例提供了第一方面的第七种可能的实施方式,其中:所述目标背景区域为书籍详情页面中的顶部区域,所述顶部区域中包含书籍简要介绍信息和所述目标图片;所述目标图片包含书籍封面图。
第二方面,本公开实施例还提供一种背景色生成的装置,包括:
获取模块,用于获取位于目标背景区域中的目标图片的第一主题色信息;所述第一主题色信息在所述目标图片中的像素点数量满足预设条件;
转换模块,用于将所述第一主题色信息转换为第二主题色信息;其中,所述第一主题色信息与所述第二主题色信息的颜色模式不同;
确定模块,用于基于所述第二主题色信息,确定所述目标背景区域的至少两种第一背景色信息,其中,所述第一背景色信息的颜色模式与所述第二主题色信息的颜色模式相同,且所述第一背景色信息中的第一颜色信息和第二颜色信息用于保持所述目标背景区域中文字内容的可读性,所述第一背景色信息中的第三颜色信息用于保持所述第二主题色信息对应的颜色风格;
渲染模块,用于基于所述至少两种第一背景色信息,渲染所述目标背景区域。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
针对既有文字又有图片的背景区域,为了实现既能保持目标背景区域中文字的可读性,又能保持目标背景区域的背景色和其中的目标图片的颜色风格一致,本公开实施例将目标图片的主题色的颜色模式进行了转换(比如从RGB模式转换为HSV模式),通过对转换后的颜色模式下的主题色的三种颜色信息(比如色相、饱和度、明度)进行处理,可以得到在视觉上能够和目标背景区域中文字内容区分开的第一颜色信息和第二颜色信息,以及维持主题色的颜色风格的第三颜色信息,进而得到背景色信息。本公开实施例可以确定至少两种处理后的背景色信息,基于这两种背景色信息来渲染目标背景区域,从而形成保持目标背景区域中文字的可读性、和主题色颜色风格一致、且存在颜色变化的背景色。
进一步,本公开实施例提供的背景色生成的方法,还可以按照预设区间大小,将各像素点的初始颜色信息划分到不同的颜色区间,并将划分到同一颜色区间的多个初始颜色信息转换为相同的处理后颜色信息,然后对处理后颜色信息进行颜色模式转换,这样可以减少处理后颜色信息对应的颜色值,从而可以节省颜色信息的存储空间。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在设计电子书详情页面的目标背景区域(比如详情页的头部区域)的展示策略时,通常使用目标背景区域中书封的主题色作为目标背景区域的背景色。背景色生成的过程主要包括以下几个步骤:步骤一、获取目标图片(书封);步骤二、从目标图片确定像素点数量最多的颜色确定为目标图片的主题色;步骤三、基于确定的主题色,渲染目标背景区域。
上述方式容易出现背景区域的背景色与其中的文字颜色(文字颜色是预先设置好的)非常接近的情况,从而导致文字难以识别;并且在确定图片的主题颜色时,需要根据各个像素点的颜色信息计算图片中对应像素点数量最多的颜色,计算过程复杂,需要消耗较多的内存资源。
基于上述研究,本公开实施例提供了一种背景色生成的方法,将目标背景区域中目标图片的主题色的颜色模式进行了转换,通过对转换后的颜色模式下的主题色的三种颜色信息进行处理,可以得到在视觉上能够和目标背景区域中文字内容区分开的第一颜色信息和第二颜色信息,以及维持主题色的颜色风格的第三颜色信息,进而得到背景色信息。本公开实施例可以确定至少两种处理后的背景色信息,基于这两种背景色信息来渲染目标背景区域,从而形成保持目标背景区域中文字的可读性、与主题色颜色风格一致、且存在颜色变化的背景色。
上述问题的发现及解决过程,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种背景色生成的方法进行详细介绍,本公开实施例所提供的背景色生成的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:服务器或其它处理设备,在一些可能的实现方式中,该背景色生成的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的背景色生成的方法加以说明。
参见图1所示,为本公开实施例提供的一种背景色生成的方法的流程图,所述方法包括:
S101:获取位于目标背景区域中的目标图片的第一主题色信息。
本实施例中,目标背景区域指的是展示页面中的部分或全部区域,以小说详情页为例,可以是小说详情页的头部区域。终端设备具体可以是手机、平板电脑、笔记本电脑、车载设备、增强现实(Augmented Reality,AR)\虚拟现实(Virtual Reality,VR)等,本公开实施例对该终端设备的具体形态不做特殊限制。
其中,目标图片可以是叠加在目标背景区域之上的图片,在本实施例中获取的第一主题色信息就是目标图片上的颜色信息。
在一种可能的实施方式中,目标背景区域为书籍详情页面中的顶部区域,顶部区域中包含书籍简要介绍信息和目标图片;目标图片包含书籍封面图。
例如,在电子书详情页的背景色的生成场景中,如图2所示的电子书详情页中目标背景区域的示意图中,展示页面可以是电子书的详情页,目标背景区域可以是详情页的顶部区域,目标背景区域中包含电子书的书封,书封是用于获取第一主题色信息的目标图片。
目标图片中的第一主题色信息可以为任意颜色模式下的颜色信息,在一种可能的实施方式中,目标图片中的颜色信息可以为红、绿、蓝(Red、Green、Blue,RGB)颜色模式下的颜色信息,具体包括红、绿、蓝三原色下的颜色信息,因此,第一主题色信息也是RGB颜色模式下的颜色信息,也包含红、绿、蓝三原色的颜色信息。
在本实施例中,第一主题色信息在目标图片中的像素点数量满足预设条件,比如像素点数量大于设定阈值或者为目标图片中对应的像素点数量最多的颜色信息。在一种可能的实施方式中,可以基于目标图片中各个像素点的颜色信息,统计每种颜色信息对应的像素点,然后确定对应的像素点数量最多的目标颜色信息,将目标颜色信息作为第一主题色信息。
考虑到上述过程需要统计每种颜色信息对应的像素点数量,当目标图片中像素点数量较多时,需要较大的内存空间对颜色信息进行缓存。例如,处理一张宽为X像素和高为Y像素的图片,RGB颜色模式最多可能有256*256*256种,即16,777,216种颜色信息,共需要64MB的内存空间进行缓存。
因此,为了减少内存空间,可以对上述步骤进行进一步优化,具体可以参见如下实施方式。
在一种可能的实施方式中,在上述实施例的基础上,在基于目标图片中各个像素点的颜色信息,确定对应的像素点数量最多的目标颜色信息的过程中,可以按照如图3所示的步骤执行,具体包括:
S301:获取目标图片中各个像素点的初始颜色信息。
初始颜色信息指的是目标图片中各个像素点在每个颜色通道的颜色值,每个颜色通道的颜色值在0~255的数值范围内。
目标图片中的颜色信息是RGB颜色模式下的颜色信息,包含红、绿、蓝三个颜色通道的颜色信息。因此,初始颜色信息也是RGB颜色模式下的颜色信息,并且包含红、绿、蓝三个颜色通道的颜色信息。
S302:按照预设区间大小,将各像素点的初始颜色信息划分到不同的颜色区间,并将划分到同一颜色区间的多个初始颜色信息转换为相同的处理后颜色信息。
相同的处理后颜色信息指的是同一颜色区间中,由颜色值相近的预设数量个初始颜色信息转化得到的同一颜色信息。这里主要是考虑从目标图片中确定第一主题色信息时,对目标图片的颜色值没有非常精细的要求,因此可以采用粗略近似的方式确定第一主题色信息。
在具体实施中,可以对每个像素点的各个颜色通道的色值分别除以预设值,得到计算后的色值。
这里的预设值可以是任意值,例如2、4、5、8等,但是考虑到预设值太小时(例如预设值为2),转化后得到的处理后颜色信息依然比较多,所需要的内存空间依然比较大;预设值无法整除色值时,例如预设值为5,无法得到整数的处理后颜色信息;预设值太大时,例如预设值为8,处理后颜色信息还原后会丢失很多颜色。因此,在一种优选的实施例中,预设值可以为4。
对计算后的色值进行近似处理,得到数值相邻的预设数量个初始颜色信息所对应的近似色值。也就是数值相邻的预设数量个初始颜色信息都对应一个近似色值。针对每个近似色值,该近似色值乘以上述预设值,得到相同的处理后颜色信息。
以预设值等于4为例,每个颜色通道原本均有256种色值,将每个颜色通道的每个色值均除以4以后,0~3色值对应的结果约等于0,4~7色值对应的结果约等于1,以此类推,这样每个颜色通道就只有0~63这64种色值,可以减少64倍的颜色种类。每种色值再乘以4,恢复到原来的RGB颜色模式,得到64种处理后颜色信息。此时只需要1MB的内存空间,相对于上述实施例,可以减少缓存颜色信息的内存空间。
S303:基于各个像素点对应的处理后颜色信息,确定对应的像素点数量最多的处理后颜色信息,将处理后颜色信息作为目标颜色信息。
为了进一步减少内存空间,在S101之前,即获取位于目标背景区域中的目标图片的第一主题色信息,还包括:
在获取到目标图片后,确定目标图片的分辨率,若目标图片的分辨率超过设定阈值,将目标图片的分辨率缩小到预设分辨率。
在具体实施中,考虑到存储空间的限制,可以将目标图片缩放到高为1000像素,宽为1000像素大小的图片。
S102:将第一主题色信息转换为第二主题色信息;第一主题色信息与第二主题色信息的颜色模式不同。
这里,第二主题色信息是与第一主题色信息的颜色模式不同的颜色信息,比如可以为HSV/HSL/HSB颜色模式下的颜色信息,这里,色相、饱和度、明度(Hue、Saturation、Value,HSV)、色相、饱和度、亮度(Hue、Saturation、Lightness,HSL)、以及色相、饱和度、亮度(Hue、Saturation、Brightness,HSB),统称为包含色相、饱和度、明度的颜色信息,他们都是区别于RGB的颜色模式的、更容易影响人的直观感受的颜色模式。
在一种实施方式中,给出了由RGB颜色模式下的第一主题色信息经过颜色模式转化得到HSV颜色模式下的第二主题色信息的具体过程:
设在RGB颜色模式下,某个像素点对应第一主题色信息为(R,G,B),其中R、G、B分别为红、绿、蓝三个颜色通道的色值。该像素点在HSV颜色模式下对应的第二主题色信息为(h,s,v),其中h、s、v分别为色相、饱和度、明度。
首先,对(R,G,B)中每个颜色通道的色值分别除以255,得到(r,g,b),使得r、g、b均为0到1之间的实数,具体地,根据(R,G,B)得到(r,g,b)的公式如下所示:
r=R/255
g=G/255
b=B/255
然后,设max为r、g、b中的最大值;min为r、g、b中的最小值,则在计算色相h时,具体公式如下:
其中,当max=min,也就是r、g、b中的最大值与r、g、b中的最小值相同时,色相h为0°;当max=r and g≥b,也就是r、g、b中的最大值为红色通道对应的数值r,且绿色通道对应的数值g大于或等于蓝色通道对应的数值b时,色相h为
当max=randg<b,也就是r、g、b中的最大值为红色通道对应的数值r,且绿色通道对应的数值g小于蓝色通道对应的数值b时,色相h为
当max=g,也就是r、g、b中的最大值为绿色通道对应的数值g时,色相h为
当max=b,也就是r、g、b中的最大值为蓝色通道对应的数值b时,色相h为
在计算饱和度s时,具体公式如下:
其中,当max=0,也就是r、g、b中的最大值为0时,饱和度s为0;当max=0,也就是r、g、b中的最大值不为0时,饱和度s为
在计算明度v时,明度v等于r、g、b中的最大值,即v=max。
通过上述过程,就可以得到该像素点在HSV颜色模式下对应的第二主题色信息为(h,s,v),其中色相h是0°~360°之间的值,饱和度s和明度v是0~1之间的值。
S103:基于第二主题色信息,确定目标背景区域的至少两种第一背景色信息,其中,第一背景色信息的颜色模式与第二主题色信息的颜色模式相同,且第一背景色信息中的第一颜色信息和第二颜色信息用于保持目标背景区域中文字内容的可读性,第一背景色信息中的第三颜色信息用于保持第二主题色信息对应的颜色风格。
在本公开实施例中,为了在渲染之后呈现渐变的背景色效果,可以基于第二主题色信息,确定至少两种第一背景色信息。不同第一背景色信息中包含的第一颜色信息、第二颜色信息和第三颜色信息是不完全相同的。
本实施例中,每种第一背景色信息的第一颜色信息和第二颜色信息是根据第二主题色信息中的第一颜色信息和第二颜色信息进行重新设置确定的,第三颜色信息是直接使用第二主题色信息中的第三颜色信息确定的。
在前面的过程中得到了HSV颜色模式下对应的第二主题色信息,因此在一种可能的实施方式中,第一背景色信息可以是基于第二主题色信息中的与目标图片的第一主题色一致的色相(第三颜色信息)、结合能够保持页面中文字可读性的预设饱和度(第一颜色信息)、预设明度(第二颜色信息)确定的HSV颜色模式下的颜色信息。
具体地,第一背景色信息的色相是直接使用第二主题色信息中的色相确定的,也就是第一背景色信息中的色相与第二主题色信息中的色相是一致的。
由于第一背景色信息中的色相与第二主题色信息中的色相一致,也就是第二主题色信息中的色相未进行调整,因此可以保持背景色和目标图片的颜色风格一致。
第一背景色信息中的饱和度是基于预设饱和度确定的,第一背景色信息中的明度是基于预设明度确定的。在确定第一背景色信息中的饱和度和明度时,并没有使用第二主题色信息中的饱和度和明度分别确定第一背景色信息中的饱和度和明度,因此第一背景色信息中的饱和度与第二主题色信息中的饱和度是不一致的,且第一背景色信息中的明度与第二主题色信息中的明度也是不一致的。
由于第一背景色信息中的饱和度与第二主题色信息中的饱和度是不一致的,且第一背景色信息中的明度与第二主题色信息中的明度也是不一致的,因此可以使得第一背景色信息中的饱和度和明度分别与第一主题色信息中的饱和度和明度存在区别,从而可以实现背景色与预先设置的文字颜色不冲突,保持文字的可读性。
在具体实施中,为了呈现渐变的背景色效果,可以根据第二主题色信息中的色相、预设至少两种不同的饱和度、以及预设至少两种不同的明度,确定出反映颜色深度不同的至少两种第一背景色信息。
例如,根据预先设置的文字颜色,可以设置第一预设饱和度s1等于0.6,第一预设明度v1等于0.3,并根据第二主题色信息中的色相h,确定第一种第一背景色信息;设置第二预设饱和度s2等于0.2,第二预设明度v2等于0.7,并根据据第二主题色信息中的色相h,确定第二种第一背景色信息。这里由于第一预设饱和度大于第二预设饱和度,且第一预设明度小于第二预设明度,所以确定出的第一种第一背景色信息的深度大于第二种第一背景色信息的深度。
S104:基于至少两种第一背景色信息,渲染目标背景区域。
由于第一背景色信息是与第二主题色信息的颜色模式相同的颜色信息,也就是第一背景色信息是与第一主题色信息的颜色模式不同的颜色信息,而在渲染过程中需要将第一背景色信息转换成与第一主题色信息的颜色模式相同的颜色信息,因此需要将第一背景色信息转换成与第一主题色信息的颜色模式相同的第二背景色信息。
因此,在一种实施方式中,可以将至少两种第一背景色信息转化为至少两种第二背景色信息;然后基于至少两种第二背景色信息,渲染目标背景区域;第二背景色信息的颜色模式与所述第一主题色信息的颜色模式相同。
在前述实施方式中已经介绍了将RGB颜色模式下的第一主题色信息经过颜色模式转化得到HSV颜色模式下的第二主题色信息的具体过程,在该实施方式下执行完S103之后,第一背景色信息是HSV颜色模式下的颜色信息,为了实现渲染,那么需要将HSV颜色模式下的第一背景色信息转换成RGB颜色模式下的颜色信息,也就是第二背景色信息。转换后的第二背景色信息为包含红、绿、蓝三原色的颜色信息。
下面介绍由第一背景色信息经过颜色模式转化得到第二背景色信息的具体过程:
设在HSV颜色模式下,某个像素点对应的第一背景色信息为(h,s,v),其中h、s、v分别为色相、饱和度、明度,其中色相h是0°~360°之间的值,饱和度s和明度v是0~1之间的值。该像素点在RGB颜色模式下的第二背景色信息为(r,g,b),r、g、b为红、绿、蓝三个颜色通道的色值。
针对每个像素点,首先,为了方便计算,将第一背景色信息(h,s,v)转化为中间量p、q、t,具体地,根据公式
将0°~360°范围内的色相h转化成0~5数值范围内的中间量h
i,h
i是0~5数值范围内的正整数,即可以取0、1、2、3、4、5;然后根据饱和度s和明度v,计算得到中间量p、q、t,具体公式如下:
p=v×(1-s)
q=v×(1-f×s)
t=v×(1-(1-f)×s);
最后,根据中间量hi、p、q、t和明度v,得到第二背景色信息为(r,g,b),具体公式如下:
其中在中间量hi等于0时,则红色通道的色值r等于明度v,绿色通道的色值g等于中间量t,蓝色通道的色值b等于中间量p;在中间量hi等于1时,则红色通道的色值r等于中间量q,绿色通道的色值g等于明度v,蓝色通道的色值b等于中间量p;在中间量hi等于2时,则红色通道的色值r等于中间量p,绿色通道的色值g等于明度v,蓝色通道的色值b等于中间量t;在中间量hi等于3时,则红色通道的色值r等于中间量p,绿色通道的色值g等于中间量p,蓝色通道的色值b等于明度v;在中间量hi等于4时,则红色通道的色值r等于中间量t,绿色通道的色值g等于中间量p,蓝色通道的色值b等于明度v;在中间量hi等于5时,则红色通道的色值r等于明度v,绿色通道的色值g等于中间量p,蓝色通道的色值b等于中间量q。
经过上述过程,得到了经过颜色模式转化后的HSV颜色模式下的第二主题色信息。
针对至少两种第一背景色信息,可以使用相同的颜色模式转化方式得到至少两种第二背景色信息。
在得到至少两种第二背景色信息之后,在一种可能的实施方式中,可以基于至少两种第二背景色信息,确定目标背景区域中作为背景的各个像素点的第二背景色信息;然后基于确定的目标背景区域中作为背景的各个像素点的第二背景色信息,渲染目标背景区域。
在该实施方式中,目标背景区域中的背景色信息有至少两种,当两种基础的第二背景色信息的颜色深度相差较大时,背景呈现的颜色跳变可能比较大,视觉效果不理想。
因此为了缩小背景的颜色跳变,在另一种可能的实施方式中,基于至少两种第二背景色信息,确定目标背景区域中作为背景的各个像素点的第二背景色信息时,如图4所示,可以按照以下步骤执行:
S401:计算至少两种第二背景色信息之间的色差信息。
这里,可以针对每种颜色通道,分别计算至少两种第二背景色信息在该颜色通道下的色差信息。这里的色差信息可以是色值之差的绝对值。
S402:基于色差信息,确定目标背景区域中作为背景的各个像素点的第二背景色信息;其中,距离较近的像素点之间的色差小于距离较远的像素点之间的色差。
这里,首先可以确定出目标背景区域中的像素点的个数,然后根据色差信息以及像素点的个数,确定数值相邻的两个像素点之间的渐变色差信息,最后根据渐变色差信息,确定各个像素点的第二背景色信息。
其中,数值相邻的两个像素点指的是数值相同或者数值之差最小的两个像素点,数值相邻的两个像素点可以是空间相邻的两个像素点,也可以是空间不相邻的两个像素点。
在具体实施中,数值相邻的两个像素点在空间上也是相邻时,各个像素点的第二背景色信息是持续变化的,那么背景呈现的颜色是持续渐变的,而数值相邻的两个像素点在空间上不相邻时,各个像素点的第二背景色信息是跳变的,背景呈现的颜色容易出现跳变的情况,因此在具体实施时,可以按照各个像素点的空间位置以及渐变色差信息,确定各个像素点的第二背景色信息。
根据各个像素点的空间位置,可以使得背景呈现线性渐变、径向渐变、角渐变、对称渐变、菱形渐变等渐变效果。这里需要说明的是任何颜色渐变效果均在本公开实施例要求保护的范围之内,其他任何颜色渐变效果这里不再赘述。
在一种可能的实施方式中,还可以基于各个像素点的空间位置,将目标背景区域分成至少两个子目标背景区域,用至少两种第二背景色信息分别渲染至少两个子目标背景区域。其中,每个子目标背景区域可以是一个完整的区域,也可以是由多个不相邻的细分区域组成的区域。
本公开实施例提供的背景色生成的方法,通过采用上述技术方案,将主题色的颜色模式进行了转换,通过对转换后的颜色模式下的主题色的三种颜色信息进行处理,可以得到在视觉上能够和目标背景区域中文字内容区分开的第一颜色信息和第二颜色信息,以及维持主题色的颜色风格的第三颜色信息,进而得到背景色信息。本公开实施例可以确定至少两种处理后的背景色信息,基于这两种背景色信息来渲染目标背景区域,从而形成保持目标背景区域中文字的可读性、和主题色颜色风格一致、且存在颜色变化的背景色。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与背景色生成的方法对应的背景色生成的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述背景色生成的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图5所示,为本公开实施例提供的一种背景色生成的装置的架构示意图,所述装置包括:获取模块501、转换模块502、确定模块503、渲染模块504;其中,
获取模块501,用于获取位于目标背景区域中的目标图片的第一主题色信息;其中,所述第一主题色信息在所述目标图片中的像素点数量满足预设条件;
转换模块502,用于将所述第一主题色信息转换为第二主题色信息;其中,所述第一主题色信息与所述第二主题色信息的颜色模式不同;
确定模块503,用于基于所述第二主题色信息,确定所述目标背景区域的至少两种第一背景色信息,其中,所述第一背景色信息的颜色模式与所述第二主题色信息的颜色模式相同,且所述第一背景色信息中的第一颜色信息和第二颜色信息用于保持所述目标背景区域中文字内容的可读性,所述第一背景色信息中的第三颜色信息用于保持所述第二主题色信息对应的颜色风格;
渲染模块504,用于基于所述至少两种第一背景色信息,渲染所述目标背景区域。
本公开实施例的上述技术方案中,通过对转换后的颜色模式下的主题色的三种颜色信息进行处理,可以得到在视觉上能够和目标背景区域中文字内容区分开的第一颜色信息和第二颜色信息,以及维持主题色的颜色风格的第三颜色信息,进而得到背景色信息。本公开实施例可以确定至少两种处理后的背景色信息,基于这两种背景色信息来渲染目标背景区域,从而形成保持目标背景区域中文字的可读性、和主题色颜色风格一致、且存在颜色变化的背景色。
一种可能的实施方式中,获取模块501,具体用于:基于所述目标图片中各像素点的颜色信息,确定对应的像素点数量最多的目标颜色信息,将所述目标颜色信息作为所述第一主题色信息。
一种可能的实施方式中,确定模块503,具体用于:获取所述目标图片中各像素点的初始颜色信息;
按照预设区间大小,将所述各像素点的初始颜色信息划分到不同的颜色区间,并将划分到同一颜色区间的多个初始颜色信息转换为相同的处理后颜色信息;
基于各像素点对应的所述处理后颜色信息,确定对应的像素点数量最多的处理后颜色信息,将所述处理后颜色信息作为目标颜色信息。
一种可能的实施方式中,渲染模块504,具体用于:将所述至少两种第一背景色信息转化为至少两种第二背景色信息;
基于所述至少两种第二背景色信息,渲染所述目标背景区域;所述第二背景色信息的颜色模式与所述第一主题色信息的颜色模式相同。
一种可能的实施方式中,渲染模块504,具体用于:基于所述至少两种第二背景色信息,确定所述目标背景区域中作为背景的各个像素点的第二背景色信息;
基于确定的所述目标背景区域中作为背景的各个像素点的第二背景色信息,渲染所述目标背景区域。
一种可能的实施方式中,确定模块503,具体用于:计算所述至少两种第二背景色信息之间的色差信息;
基于所述色差信息,确定所述目标背景区域中作为背景的各个像素点的第二背景色信息;其中,距离较近的像素点之间的色差小于距离较远的像素点之间的色差。
一种可能的实施方式中,所述装置还包括:缩小模块,用于确定所述目标图片的分辨率;若所述目标图片的分辨率超过设定阈值,将所述目标图片的分辨率缩小到预设分辨率。
一种可能的实施方式中,所述目标背景区域为书籍详情页面中的顶部区域,所述顶部区域中包含书籍简要介绍信息和所述目标图片;所述目标图片包含书籍封面图。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图6所示,为本公开实施例提供的计算机设备600的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当计算机设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:
获取位于目标背景区域中的目标图片的第一主题色信息;其中,所述第一主题色信息在所述目标图片中的像素点数量满足预设条件;
将所述第一主题色信息转换为第二主题色信息;其中,所述第一主题色信息与所述第二主题色信息的颜色模式不同;
基于所述第二主题色信息,确定所述目标背景区域的至少两种第一背景色信息,其中,所述第一背景色信息的颜色模式与所述第二主题色信息的颜色模式相同,且所述第一背景色信息中的第一颜色信息和第二颜色信息用于保持所述目标背景区域中文字内容的可读性,所述第一背景色信息中的第三颜色信息用于保持所述第二主题色信息对应的颜色风格;
基于所述至少两种第一背景色信息,渲染所述目标背景区域。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的背景色生成的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的背景色生成的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。