Подтвердить что ты не робот

Преобразование целых чисел в шестнадцатеричную строку в JavaScript

Как преобразовать целочисленные байтовые значения красного, зеленого и синего в шестую строку, которые затем могут быть назначены контексту для рендеринга на холст HTML5?

Например, преобразуйте cyan,

var r = 0;
var g = 255;
var b = 255;

В шестнадцатеричную строку для назначения цвета заливки контекста.

this.context.fillStyle = '#00FFFF';

Или есть лучший способ сделать это вообще?

4b9b3361

Ответ 1

Просто используйте значения RGB, например:

this.context.fillStyle = "rgb(0,255,255)";

Ответ 2

Чтобы преобразовать число в hex, вы можете использовать встроенную функцию toString (16). Простой код:

function convert(integer) {
    var str = Number(integer).toString(16);
    return str.length == 1 ? "0" + str : str;
};

function to_rgb(r, g, b) { return "#" + convert(r) + convert(g) + convert(b); }

var color = to_rgb(r, g, b);

Ответ 3

Я думаю, самый простой способ:

var g = 255;
g.toString(16); //gives "ff"

Используйте функцию, которая дает язык.

Ответ 4

function pad(number, length) {
    var str = '' + number;
    while (str.length < length) str = '0' + str;
    return str;
}

function toRGBHex(r,g,b) { 
    return pad(r.toString(16),2) + pad(g.toString(16),2) + pad(b.toString(16),2); 
}

Ответ 5

Чтобы преобразовать ваши отдельные значения RGB в шестнадцатеричный цвет, вы можете использовать эту функцию, хотя имеет смысл просто использовать "rgb("+r+","+g+","+b+")" вместо этого.

function rgbToHex(r,g,b) {
    return "#"+("00000"+(r<<16|g<<8|b).toString(16)).slice(-6);
}

Ответ 6

Вы можете написать свой собственный метод для этого преобразования -

// function to generate the hex code
function getHex(dec)
{
    var hexArray = new Array( "0", "1", "2", "3", 
                              "4", "5", "6", "7",
                              "8", "9", "A", "B", 
                              "C", "D", "E", "F" );

    var code1 = Math.floor(dec / 16);
    var code2 = dec - code1 * 16;

    var decToHex = hexArray[code2];

    return (decToHex);
} 

исходный источник - http://programming.top54u.com/post/Javascript-Convert-Decimal-to-Hex.aspx