var number = 42;
var hex = Number(parseInt( number , 10)).toString(16);
hex // => "2a"
发挥作用:
function dec2hex(dec) {
return Number(parseInt( dec , 10)).toString(16);
}
因此,浮点数可以转换为十六进制:
var percentage = 0.4;
var color_part_dec = float * 255;
var color_part_hex = dec2hex( color_part_dec );
var color = "#" + color_part_hex + color_part_hex + color_part_hex;
color // => "#666666"
因此,您的函数将如下所示:
function float2color( percentage ) {
var color_part_dec = 255 * percentage;
var color_part_hex = Number(parseInt( color_part_dec , 10)).toString(16);
return "#" + color_part_hex + color_part_hex + color_part_hex;
}
function dec2hex(dec) {
return Number(parseInt( dec , 10)).toString(16);
}
function pad(h){ //adds leading 0 to single-digit codes
if(h.length==1) return "0"+h;
else return h;
}
r = Math.random()*255;
g = Math.random()*255;
b = Math.random()*255;
color = "#" + pad(dec2hex(r)) + pad(dec2hex(g)) + pad(dec2hex(b));
4条答案
按热度按时间7cwmlq891#
十六进制的灰度值是指红、绿色、蓝对称分布的灰度值,例如:编号111111、5B5B5B、A2A2A2。
要将十进制数转换为十六进制数,可以用途:
发挥作用:
因此,浮点数可以转换为十六进制:
因此,您的函数将如下所示:
0tdrvxhp2#
下面是一个使用3种颜色到灰度方法的示例:亮度、平均值和发光度。
在jsfiddle上
ogq8wdun3#
如果您的值小于16,并且您将三个值合并为一个颜色代码,请确保添加前导0。
9avjhtql4#
我喜欢简单: