如何从渐变映射数字特定的颜色
How to map number specific color from gradient
假设我有一个div,背景是从绿色到红色的平滑线性梯度(从左到右),给定一个介于0和1之间的数字,我想知道从左边开始的百分比。
Ie 0将映射到绿色,1将映射到红色。5将映射到红绿色的中间等等,所以这样的函数的返回将是颜色表示(例如十六进制、rgba)。
我不知道如何在div中获得特定背景点的颜色。如果我能弄清楚的话,我想我会没事的。
如果您可以将十六进制转换为整数,我认为您应该能够获得2种颜色之间的平均数。假设你已经有了颜色代码绿色:#33FF33红色:#FF0000
function ConvertToInt(colorHex){
if(colorHex.length != 6){return 0;}
var R = colorHex.substring(0,2);
var G = colorHex.substring(2,4);
var B = colorHex.substring(4,6);
return [parseInt(R,16),parseInt(G,16),parseInt(B,16)];
}
然后对两种颜色调用此函数,得到一个int数组。
function GetColorAtPos(color1,color2,position){
color1Multiplier = position;
color2Multiplier = 1-position;
finalRGB = [];
for(i =0;i<=2;i++){
finalRGB.push(parseInt((color1[i] * color1Multiplier) + (color2[i] * color2Multiplier)))
}
return finalRGB
}
这应该返回平均颜色。
如果你可以发布一个元素的背景值,我可以发布颜色的选择。
这就是您将其称为GetColorAtPos(ConvertToInt("FFFFFF"), ConvertToInt("000000"), .5)
的方式
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 将数字转换为一定数量的硬币
- 更改使用Chart.js创建的图表中的轴线颜色
- 根据输入字段中键入的数字更改td单元格的颜色
- 将浮点数字转换为RGBA CSS颜色的有效Alpha值
- 如何在 jquery 颜色选择器中设置数字十六进制颜色
- 在 JavaScript 代码中添加跨度以更改显示数字的颜色
- 带有数字的 Jquery 幻灯片 - 帮助让数字链接保持颜色,直到选择另一个链接
- 如何从渐变映射数字特定的颜色
- 防止颜色数据的神秘字符串到数字的转换
- 动态地对数字进行颜色编码
- 用JavaScript打印一系列不同颜色的数字
- 在javascript或jquery中更改数字的逗号颜色
- 如果value =<我可以让表格单元格有不同的背景颜色吗?使用jquery或PHP获取特定的数字
- 如何在php或javascript颜色数字
- 如何使用javascript将数字转换为颜色亮度