2013-04-26 86 views
0

我有很大的问题。从数据库中,我可以获得从0到100的照度。其中0 - 夜晚,100 - 中午。了解这些参数我需要建立一天的梯度。将照度转换为六角色

数据结构看起来如此:

{ 
0: '0%', 
10: '25%', 
30: '100%', 
40: '60%', 
50: '100%', 
90: '0%' 
} 

在从点对点梯度瓷砖,它可能会影响团购的位置变化。它说明从30 - 50.

我没有任何想法。有什么建议么?

回答

2

我认为你需要的是将hsl转换成rgb的函数,考虑照明为l(亮度)。你需要一个色调和饱和度,但是它很漂亮traightforward。这个问题有多个JavaScript HSL为rgb解决方案:

HSL to RGB color conversion

0

您的数据结构有两个NOON! (100%)

{ 
0: '0%', 
10: '20%', 
30: '60%', 
40: '80%', 
50: '100%', 
99: '1%' 
} 

这可能不是你想要的,但它可能更接近。

更新

好感谢我没有看到你指出这一点在你的问题,但我忘了。

反正一到这个链接 http://ie.microsoft.com/testdrive/Graphics/hands-on-css3/hands-on_gradients.htm

而且你的带有双手梯度分布。 当前有一个空间,其中渐变出现在屏幕的左侧,这是因为设置尚未应用。 所以我们就改正,首先通过执行以下操作:

LINEAR选项卡下的设置,你会看到方向和方向值的滑块。

,点击该方向滑块,直到值PLUS按钮显示为BOTTOM

所以现在你看到从黑色到白色从上到下的淡化。 这是你的夜晚规模的代表。

现在,当用户移动到不同的时区时,它可以显示为渐变中的STEP。

为了向您展示它的外观,点击ADD COLOR STEP按钮。

现在步骤中加入,你有START_ATSTOP_ATEND_AT 设置这些如下: START_AT黑色 STOP_ATEND_AT黑色

现在你有两个从黑色到白色的渐变色1,另一个从白色到黑色。 将鼠标光标置于STOP_AT滑块内的黑色方块上,标记为X%(其中X是当前百分比),当您用鼠标拖动滑块时,可以看到两个渐变如何变化。

希望这会让你朝着解决目标的方向迈进。 顺便说一句,如果你的梯度之间的公共颜色是不一样的,那么你将不得不添加另一个COLOR_STEP(虽然我希望常见的颜色在大多数情况下是相同的,唯一的例外是时区我们注意到这些值是以RGB的形式输入的,所以你需要一个函数来将你的100%变成RGB(255,255,255),0%变成RGB(0,0,0)其中黑色RGB(0.0.0)是午夜/夜晚,白色RGB(255,255,255)是白天/中午

+0

这是因为用户飞到另一个位置(时区变化)。 – rsboarder 2013-04-27 07:04:34