【发布时间】:2010-11-23 20:43:11
【问题描述】:
我想用 ruby 编写一个函数,给定 1 到 500 之间的数字,将输出一个 6 位十六进制颜色代码,数字越大,颜色越暗。这似乎并不难,但我不知道从哪里开始。我该如何实现?
编辑
Hue 似乎是一种更可靠的方法。我想给出一个参考颜色,比如绿色,然后根据输入的数字将其变暗或变亮。
输入:10
输出:颜色代码(以 rgb 或 HSV 表示),它是参考颜色的明暗度
输入:400
输出:颜色代码(以 rgb 或 HSV 表示)是参考颜色的相当暗的阴影
编辑 2
我需要使用 1 到 500 之间的唯一原因是因为这是我必须使用的输入。如果一些靠近的数字映射到相同的颜色,那也没关系。
【问题讨论】:
-
不确定你到底在问什么。能举个输入输出的例子吗?
-
灰度只有 256 个亮度级别。例如0x000000, 0x010101 ... 0xfefefe, oxffffff,所以 500 似乎有点无意义。如果你想改变色调,例如从浅蓝色到深红色还有更多步骤,但您需要进一步澄清您的问题。
-
您是想让参考颜色逐渐变暗,还是对从白色到黑色的渐变感到满意?
-
你说你想做一个“函数”……你希望这个函数用什么语言来写?
-
记住 sRGB 是非线性的。
标签: css algorithm function colors hex