0

我有很大的问题。从数据库中,我可以获得从 0 到 100 的照明度。其中 0 - 晚上,100 - 中午。了解这些参数后,我需要构建日渐变。

数据结构看起来是这样的:

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

在从点到点的渐变瓷砖中,它可能会影响购买位置的变化。它从 30 到 50 进行了说明。

我完全没有想法。有什么建议么?

4

2 回答 2

2

我认为您需要一个将 hsl 转换为 rgb 的功能。将照度视为 l(亮度)。你需要一个色调和饱和度,但这很简单。这个问题有多个 javascript hsl to rgb 解决方案:

HSL 到 RGB 颜色转换

于 2013-04-26T19:29:30.267 回答
0

您的数据结构有两个中午!(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选项卡下的设置中,您将看到DIRECTION和用于方向值的滑块。

单击DIRECTION滑块的加号按钮,直到值显示BOTTOM

所以现在你看到从上到下从黑色到白色的渐变。这是您的日夜规模的代表。

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

要向您展示它的外观,请单击“添加颜色步骤”按钮。

现在添加了一个步骤,您有START_ATSTOP_ATEND_AT 设置如下: START_AT Black STOP_AT White END_AT Black

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

希望这将使您走上解决目标的道路。顺便说一句,如果渐变之间的常见颜色不同,那么您将不得不添加另一个COLOR_STEP(尽管我希望在大多数情况下常见颜色是相同的,唯一的例外是时区发生变化的地方。

是否值得指出?我注意到这些值是作为 RGB 输入的,因此您需要一个函数将 100% 更改为 RGB(255,255,255) 和 0% 更改为 RGB(0,0,0),其中黑色 RGB(0.0.0) 是午夜/晚上,并且白色 RGB(255,255,255) 是白天/中午。

于 2013-04-26T19:28:01.423 回答