我想根据整数 X(赞成票数)确定背景颜色 C
好的,我可以的
if(x==0) c = '#000';
else if(x > 0 && x < 5 ) c = '#001'
else if(X<=5 <= 20) c = '#002';
//and so on...
但是,我怎样才能做到渐进呢?我的意思是从 0 到 500 票 -> 500 色调的蓝色? (如果我没记错的话,它可能是十六进制的两位数(如果不是,则为 15*15 xD))
有什么想法吗?
最佳答案
由于您只是在寻找想法,这里有一个其他人不会推荐的想法。首先,去查找“Catmull-Rom Spline”公式。它归结为一个非常简单的矩阵乘法技巧,它为您提供了一个公式,用于在给定一组控制点的情况下计算曲线。
好的,现在您已经了解了 Catmull-Rom 样条的所有知识,您可以编写一些代码来在 3 空间中绘制曲线。那么,如果不是 3 维空间,RGB 又是什么?因此,您选择了一些好的颜色控制点(RGB 颜色),然后使用您方便的 Catmull-Rom 实现来生成一条通过所有这些颜色的参数化曲线,沿着曲线可以有任意多的颜色。
颜色渐变的妙处在于它们在过渡过程中非常“平滑”。
关于javascript - 确定规则 : relate integer value to color #RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520032/