如何找到匹配的颜色?

时间:2015-05-11 22:26:15

标签: javascript algorithm colors rgb hsv

我有这个按钮图片: enter image description here

这是两种颜色

我想让我的用户选择更改按钮的颜色。 他们可以选择他们想要的任何颜色,但只能选择一种颜色。 我需要确定匹配的颜色是什么。

例如,如果他们想要按钮,为蓝色(#00F),我将如何使按钮看起来像蓝色一样?

3 个答案:

答案 0 :(得分:1)

问题相当不清楚(你使用错误的值,按钮1的悬停颜色比正常颜色更明亮)。但如果你只想要一个颜色较深的版本,那很简单:

requests

如果您希望颜色更亮而不是更暗,只需将因子从int rgb //make the color darker double factor = 0.9 int red = red(rgb) * factor int green = green(rgb) * factor int blue = blue(rgb) * factor int darker = rgb(red , blue , green) 更改为< 1

黑色是#000000,所以如果你减少它的rgb值,每种颜色都会变暗。

答案 1 :(得分:0)

除了谷歌搜索之外,我对这个答案不予理睬。你想要的是一个函数,给出一个十六进制颜色代码为悬停计算一个更暗(或更浅)的颜色。

本文将介绍如何以编程方式实现此功能

http://www.sitepoint.com/javascript-generate-lighter-darker-color/

如果你绝对必须使用rgb,那么使用这样的另一个函数将rgb转换为十六进制RGB to Hex and Hex to RGB

答案 2 :(得分:0)

如果我理解得很好,你需要一个函数f

f : I^3 --> I^3,    I = [0,255]

这样,A中的BI^3

f(A) = B

但是存在一个问题:您的限制不会唯一确定f。您可能想要添加更多限制。

满足要求的简单功能是

f : I^3 --> I^3
     X  ⊢->  B