色盘建立方法及颜色定位方法与流程

文档序号:13164082阅读:1311来源:国知局
色盘建立方法及颜色定位方法与流程

本发明涉及颜色处理领域,特别是涉及一种色盘建立方法及颜色定位方法。



背景技术:

一般的终端设备如电脑、平板等,均能对文字、图形等进行颜色设置。如附图5所示,现有window系统下的取色方案,大多根据颜色饱和度和色相两个维度构造一个矩形颜色面板显示颜色,并在颜色面板上选择颜色,通过亮度条调节调节选择的颜色的亮度。

现有技术中,通过亮度条调节颜色亮度时,颜色面板的颜色亮度始终不变。即,亮度条与颜色面板没有互动,用户难以直观,快速的找到想要的颜色,而且,也不能通过颜色面板快色找到相近的颜色,颜色选择的效率低。

现有的取色技术只是单向的从颜色面板和亮度得到颜色,不能根据获取的屏幕上的颜色确定颜色在色盘上的位置以及在亮度条上的位置,因此难以直观,快速的找到与屏幕上获取的颜色的相近颜色。



技术实现要素:

鉴于上述状况,有必要针对现有技术中颜色选择效率低的问题,提供一种色盘建立方法及颜色定位方法。

本发明实施例提供了一种色盘建立方法,包括

当获取到亮度条的亮度设置值k时,确定颜色区域的每一个颜色点的亮度值为(1-k)*(1-m*s),其中,m为预设值,其取值范围为0.2~0.8,s为所述当前颜色点的饱和度值,k为亮度条上的亮度设置值,k取值范围为0~1;

遍历所述颜色区域上的每一个颜色点,根据当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值;

根据所述当前颜色点的色度、饱和度值和亮度值计算所述当前颜色点的r、g、b值,并根据所述当前颜色点的r、g、b值进行像素点着色。

上述色盘建立方法,其中,所述m为0.5。

上述色盘建立方法,其中,所述颜色区域为圆形,以所述颜色区域的圆心为原点,过所述原点的垂线为y轴,过所述原点的水平线为x轴,所述当前颜色点的坐标值为相对于所述x轴和所述y轴的坐标值,所述根据当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值的步骤包括:

根据所述当前颜色点的坐标值计算所述当前颜色点相对于所述y轴的角度,并确定所述角度为所述当前颜色点的色度值;

根据所述当前颜色点的坐标值计算所述当前颜色点到原点的距离与所述颜色区域半径的百分比,并确定所述百分比为所述当前颜色点的饱和度值。

本发明实施例还提供了一种颜色定位方法,应用于上述色盘中,所述颜色定位方法包括:

获取屏幕上目标点的r、g、b值,并将所述目标点的r、g、b值转换为色度、饱和度和亮度值;

依次获取所述色盘上的颜色点的色度和饱和度值,并判断所述目标点的色度、饱和度值分别与获取的当前颜色点的色度、饱和度值的差值是否均在对应的阈值范围内;

若是,则将所述色盘上的光标指向所述当前颜色点;

根据所述目标点的亮度值确定所述当前颜色点的亮度值,并根据所述当前颜色点的亮度值和饱和度值计算亮度条上的亮度设置值,且将亮度条上的滑条指向所述亮度设置值对应的位置。

上述颜色定位方法,其中,所述亮度设置值k的计算公式为:

当l当前<1-m*s时,

当l当前≥1-m*s时,k等于0。

上述颜色定位方法,其中,所述目标点的色度值与所述当前颜色点的色度值的差值的阈值范围为-5~5,所述目标点的色度值与所述当前颜色点的色度值的差值的阈值范围为-0.5~0.5。

上述颜色定位方法,其中,所述根据所述目标点的亮度值确定所述当前颜色点的亮度值的步骤包括:

确定所述当前颜色点与目标点的亮度的差值在亮度阈值范围内的亮度值;

根据所述当前颜色点的亮度值和所述当前颜色点的饱和度值计算亮度条上的亮度设置值,并在所述亮度条上标记所述亮度设置值。

上述颜色定位方法,其中,所述亮度阈值范围为-0.2~0.2。

上述颜色定位方法,其中,所述依次获取色盘上的颜色点的色度和饱和度值的步骤包括:

依次获取色盘上的颜色点的坐标值;

根据获取的当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值。

上述颜色定位方法,其中,所述m为0.5。

本发明实施例中,建立色盘时将颜色区域上颜色点的亮度l确定为l=(1-k)*(1-m*s),并将预设值m的取值范围限定为0.2~0.8,进行像素点着色后构建色彩柔和、色盘绚丽多彩的色盘。使用户直观,快速的选取到自己想要的颜色,提高用户取色的效率。并且能根据获取的屏幕的颜色确定此颜色在色盘和亮度条上位置,从而方便的找到此颜色的相近色。

附图说明

图1为本发明第一实施例中的色盘建立方法的流程图;

图2为本发明第一实施例中建立的色盘;

图3为本发明第二实施例中的颜色定位方法的流程图;

图4为本发明第三实施例中的颜色定位方法的流程图;

图5为现有技术中的色盘。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

请参阅图1,为本发明第一实施例中的色盘建立方法,应用于windows、xp等系统中对颜色进行设置,包括步骤s11~s13。

步骤s11,当获取到亮度条的亮度设置值k时,确定颜色区域上的每一个颜色点的亮度值为(1-k)*(1-m*s),其中,m为预设的值,其取值范围为0.2~0.8,s为所述当前颜色点的饱和度值,k为亮度条上的亮度设置值,k取值范围为0~1。

上述步骤中,所述颜色区域为圆形区域,对圆形区域的每一个颜色点进行像素点着色得到填充了颜色的色盘。

亮度条用来调控色盘颜色的明亮程度,用户拖动滑条可对色盘每个颜色点的明暗进行调节。即用户可直观的看到色盘整个画面的明亮程度的变化,方便用户选择同一色相和饱和度下的不同亮度的颜色,也能方便用户选择同一亮度下不同色相和饱和度的颜色。

亮度设置值k为亮度条上用于表示颜色亮度的程度的值,k的取值为0~1,即表示色盘上的颜色点的亮度从最大至最小的变化,可通过拖动滑条获取不同的亮度设置值。例如,当前选择的颜色点的亮度占该颜色点最大亮度的1/3时,则k为2/3,即表示滑条在亮度条的2/3的位置。m为预设值,其取值范围为0.2~0.8,用于让色盘呈现绚丽多彩视觉感受。

步骤s12,遍历所述颜色区域上的每一个颜色点,根据当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值。

步骤s13,根据所述当前颜色点的色度、饱和度值和亮度值计算所述当前颜色点的r、g、b值,并根据所述当前颜色点的r、g、b值进行像素点着色。

上述步骤s12、s13中,计算颜色区域上每个点对应的彩色空间上的颜色,对每一个颜色点进行像素着色,得到各种颜色组成的色盘。

如图2所示,本实施例中,利用颜色的hsl模式构建色盘,其中,色相(h,hue),取值范围为0~360°,其中每一个值代表一种颜色;饱和度(s,saturation)取值范围为0~100%,表示颜色的纯度,0表示灰度图,1表示纯的颜色;亮度(l,lightness),表示颜色点的明亮程度,取值范围为0~100%,0表示黑色,1表示特定饱和度的颜色。遍历所述颜色区域上的每一个颜色点,根据当前颜色点的坐标,计算得到对应彩色空间上的特定的点及彩色空间上的某个特定颜色。具体的:以所述圆形的颜色区域的圆心为原点,过所述原点的垂线为y轴,过所述原点的水平线为x轴,当前颜色点的坐标值p(x,y)即为相对与x轴和y轴的坐标值。所述根据当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值的步骤包括:

计算所述当前颜色点相对于y轴的角度为θ,并确定θ值为所述当前颜色点的色相h值;

计算所述当前颜色点到所述原点的距离与所述颜色区域半径的百分比,并将计算的百分比确定为所述当前颜色点的饱和度s。即饱和度d为当前颜色点p(x,y)到所述原点的距离,r为圆形颜色区域的半径。

由于亮度值l=(1-k)*(1-m*s),当给定一个亮度设置值k时,即可得到所述当前颜色点的h、s、l值。由于在计算机中,颜色一般由rgb模式表示。因此将当前颜色点h,s,l值转换为r,g,b值,然后根据得到的r、g、b值对对应的像素点进行着色。遍历颜色区域上的所有点,为每一个颜色点进行像素点着色,即可得绚丽多彩的色盘。

调节亮度条时,由于亮度设置值改变,按照上述步骤重新计算色盘上每个点的颜色值,并重新着色,得到对应不同亮度设置值的色彩空间上的颜色的状态。颜色定的亮度的实时显示让用户方便选取自己喜欢的颜色。

本实施例中,将色盘上颜色点的亮度l确定为l=(1-k)*(1-m*s),并将预设值m的取值范围限定为0.2~0.8,构建色彩柔和、色盘绚丽多彩的色盘。使用户直观,快速的选取到自己想要的颜色,提高用户取色的效率。

进一步的,本实施例中可以选取m为0.5,即色盘颜色点的亮度值l=(1-k)*(1-0.5*s)。当k为1时,色盘上所有的颜色点均为最低亮度,色盘显示为黑色。当k为0时,色盘上所有的颜色均为最高亮度,色盘上颜色点的亮度从圆形色盘中心点至圆形色盘边缘点,亮度从0.5至1变化。随着k值的变化色盘上每个颜色点的亮度变化范围均不相同,例如色盘中心点颜色点(饱和度为0)的亮度变化范围为0~1,色盘边缘的颜色点(饱和度为1)亮度变化范围为0~0.5,由此,使色盘上各颜色点的亮度在合适的范围内,提高用户取色的效率。

m可以选取0.2~0.8范围中的任意一个值,m值越小表示同一亮度程度下色盘的整体亮度越大,可根据实际应用环境进行选择。例如,本发明的另一实施例中,m值为0.8,色盘颜色点的亮度值l=(1-k)*(1-0.8*s),当k为0时,色盘上所有的颜色均为最高亮度,色盘上颜色点的亮度从圆形色盘中心点至圆形色盘边缘点,亮度从0.2至1变化。其原理与第一实施例中的相同,在此不予赘述。

请参阅图3,为本发明的另一方面还提供了一种颜色定位方法,用于将终端的屏幕上的目标点的颜色快速定位在色盘和色条上对应的位置,所述色盘为实施例1中所提到的色盘。所述颜色定位方法包括步骤s21~s26。

步骤s21,获取屏幕上目标点的r、g、b值,并将所述目标点的r、g、b值转换为色度、饱和度和亮度值。

终端的系统设置有取色器,用于获取屏幕任意一个位置的颜色,即获取屏幕上目标点的r、g、b值。终端将获取的目标点的r、g、b值转换为色度、饱和度和亮度值(h、s、l)。

步骤s22,依次获取色盘上的颜色点的色度和饱和度值。

上述步骤中,依次获取色盘上颜色点的色度和饱和度值的步骤包括:

步骤s221,依次获取色盘上的颜色点的坐标值;

步骤s222,根据获取的当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值。

当前颜色点的在色盘上的坐标p(x,y),以色盘的圆心为原点,过圆心的垂线为纵坐标轴,过圆心的水平线为横坐标轴。当前颜色点p(x,y)相对于纵坐标轴的角度为θ,则θ对应于色相h的值,当前颜色点p(x,y)到原点的距离占色盘半径的百分比则对应于饱和度s。

步骤s23,判断所述目标点的色度和饱和度值分别与获取的当前颜色点的色度和饱和度值的差值的绝对值是否均在对应的阈值范围内。

步骤s24,若是,将所述色盘上的光标指向所述当前颜色点。即,将光标在色盘上坐标p(x,y)处进行显示。用户可以直观在在色盘上看到从屏幕上获取的颜色所在的位置,且通过移动鼠标将光标移动到色盘的其他位置,获取同一亮度不同色相和饱和度的颜色点。

由于屏幕上的颜色与色盘上的显色存在一定的色差,屏幕上选取的目标点的颜色并不一定能在色盘上找到。因此只需要在色盘上找到近似的颜色,使所述目标点的色度和饱和度值分别与所述当前颜色点的色度和饱和度值的差值均满足对应的阈值要求即可。遍历色盘上的每一个颜色点,直到找到与目标点的色度、饱和度值的差值均在对应的阈值范围内的颜色点,并确定当前颜色点。

步骤s25,根据所述目标点的亮度值确定所述当前颜色点的亮度值,并根据所述当前颜色点的亮度值和饱和度值计算亮度条上的亮度设置值,且将亮度条上的滑条指向所述亮度设置值对应的位置。

在当前颜色点对应的亮度条上找到亮度值等于或接近目标点的亮度值的一个亮度值,根据找到的亮度值确定亮度条上的亮度设置值,并在亮度条上标记出亮度设置值对应的位置。例如找到的当前颜色点的亮度值为当前颜色点的最大亮度值的一半时,亮度设置值为0.5,则设置亮度的滑条自动跳转到亮度条的中间位置。

本实施例通过将屏幕上获取的目标点的颜色直观的显示在色盘和亮度条上的对应位置,方便用户对夜色进行调试。

请参阅图4,为本发明第三实施例中的颜色定位方法。包括步骤s31~s38。

步骤s31,获取屏幕上目标点的r、g、b值,并将所述目标点的r、g、b值转换为色度、饱和度和亮度值。

步骤s32,依次获取色盘上的颜色点的坐标值。

步骤s33,根据获取的当前颜色点的坐标值计算所述当前颜色点的色度、饱和度值。

步骤s34,判断所述目标点的色度和饱和度值分别与所述当前颜色点的色度和饱和度值的差值是否均在对应的阈值范围内,若是,执行步骤s36,若否执行步骤s38。

上述步骤中,遍历色盘上的颜色点,当所述当前颜色点满足h-h'≤5且|s-s'|≤5时,则在色盘上确定该颜色点p(x,y),其中h,s分别为目标颜色点的色度和饱和度,h’,s’分别为当前颜色点的色度和饱和度。

步骤s35,将所述色盘上的光标指向所述当前颜色点。

步骤s36,确定所述当前颜色点与目标点的亮度的差值在亮度阈值范围内的亮度值。

上述步骤中,当所述当前颜色点与目标点的亮度的差值在-0.2~0.2之间,即,|l当前-l目标|≤0.02时,确定当前颜色点的亮度值l当前,其中,l目标为目标点的亮度值。

步骤s37,根据所述当前颜色点的亮度值和所述当前颜色点的饱和度值计算亮度条上的亮度设置值,且将亮度条上的滑条指向所述亮度设置值对应的位置。

上述步骤中,所述亮度设置值k的计算公式为:

当l当前<1-m*s时,

当l当前≥1-m*s时,k等于0;

其中,m为预设值,m取值范围为0.2~0.8,s为所述当前颜色点的饱和度值,l当前为所述当前颜色点的亮度值,l目标为目标点的亮度值。

色盘上,任意一颜色点的亮度变化范围为0~1-m*s,当选取的屏幕中的颜色的亮度值超过了最大值(1-m*s)时,色盘上当前颜色点无法找到与目标点的亮度值相同的亮度,此时k值为0,即亮度条上的滑条在始终在端点表示最亮的亮度处。

步骤s38,获取下一颜色点的坐标值,并返回步骤s33。

m值为色盘建立时预先设置的确定值,优选的,色盘建立时将m取值为0.5,当l当前<1-0.5*s时,当l当前≥1-0.5*s时,k等于0。m为0.5时,色盘上各颜色点的亮度的变化在合适的范围内,使色盘呈现柔和绚丽多彩的颜色,提高用户取色的效率。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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