this question is quick and simple.
I've a 2d array of floats ( 0,0000000 to 1,0000000 ) and i want to convert those numbers to a color value ( #000000 to #ffffff ).
note that i'm talking about just grayscale values.
0 = black | ... | 0.5 = middle gray | ... | 1 = white
does anyone know how to do that with javascript ? thx.
Grayscale values in hex are those which got symmetrical distribution or Red, Green and Blue, e.g.: #111111, #5B5B5B, #A2A2A2.
To convert decimal number to hexadecial number you can use:
var number = 42;
var hex = Number(parseInt( number , 10)).toString(16);
hex // => "2a"
Put that to function:
function dec2hex(dec) {
return Number(parseInt( dec , 10)).toString(16);
}
So your float can be converted to hex with:
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"
So your function will look like this:
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;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With