使用javascript从HTML中线性渐变提供的范围中选择颜色
pick color from a range provided by linear gradient in html using javascript
我定义了一个线性渐变"linear-gradient(to top, red, yellow, green)"。假设红色对应0,绿色对应1,我如何通过提供该范围内的数字来选择颜色,例如0.5对应黄色,0.75对应浅绿色,0.25对应浅红色,等等。
基本上,您希望f(0)为R(255) G(0) B(0), f(1/2)为R(255) G(255) B(0),最后f(1)为R(0) G(255) B(0)。这里实际上有两个梯度,第一个是从红色到黄色,第二个是从黄色到绿色。一个简单的方法是这样做,例如:
if(inputValue < 0.5){
red = 255; //On first part of the gradient, red is always 255
green = (inputValue * 2) * 255; //Green increase from 0 to 255
yellow = 0; //Yellow is always 0
}else{
red = 255*(1-((inputValue - 0.5)*2)); //On that second part, red go from 255 to 0
green = 255; //Green is always 255
yellow = 0; //Yellow is always 0
}
var output.r = (inputValue * color1.r + (1 - inputValue) * color2.r) / 2;
var output.g = (inputValue * color1.g + (1 - inputValue) * color2.g) / 2;
var output.b = (inputValue * color1.b + (1 - inputValue) * color2.b) / 2;
相关文章:
- 如何使用D3生成特定范围内的随机颜色
- 如何制作具有特殊条形颜色的范围滑块
- DC.js 应用过滤器后热图颜色范围未更新
- d3.js应用不适用于 JSON 的颜色范围
- 获取与之关联的范围和颜色 - 色度.js
- 将底部边界的颜色更改为一定范围
- 使用javascript更改输入范围滑块的颜色
- 未捕获范围错误:超出最大调用堆栈大小(执行背景颜色切换器功能时)
- 在一定范围内使用paper.js进行颜色转换
- 独特的,范围的颜色在谷歌地理地图
- 高图-改变背景颜色沿特定的日期范围
- 在dc.js柱状图上的颜色问题,当过滤到一个狭窄的范围
- Highcharts列范围数据标签的高和低不同的颜色
- 如何使用脚本更改单元格背景颜色的多个范围
- d3:具有超过2种颜色的数组的颜色范围
- 使用javascript从HTML中线性渐变提供的范围中选择颜色
- 我如何在谷歌图表设置颜色范围
- 显示与D3图例中从范围映射的每个颜色梯度相关的值
- 可以仅为特定的y范围更改高图xy图中的线颜色
- 将背景颜色设置为范围输入的值