Чтобы преобразовать RGB в шестнадцатеричный код в JavaScript, можно использовать несколько методов. Вот несколько примеров:
Метод 1: использование функций toString()
и padStart()
function rgbToHex(r, g, b) {
const hex = ((r << 16) | (g << 8) | b).toString(16);
return "#" + hex.padStart(6, "0");
}
const red = 255;
const green = 127;
const blue = 0;
const hexColor = rgbToHex(red, green, blue);
console.log(hexColor); // Output: "#ff7f00"
Метод 2: использование побитового сдвига и конкатенации строк
function rgbToHex(r, g, b) {
const hex = ((r << 16) | (g << 8) | b).toString(16);
const paddedHex = ("000000" + hex).slice(-6);
return "#" + paddedHex;
}
const red = 255;
const green = 127;
const blue = 0;
const hexColor = rgbToHex(red, green, blue);
console.log(hexColor); // Output: "#ff7f00"
Метод 3. Использование литералов шаблона ES6
function rgbToHex(r, g, b) {
return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, "0")}`;
}
const red = 255;
const green = 127;
const blue = 0;
const hexColor = rgbToHex(red, green, blue);
console.log(hexColor); // Output: "#ff7f00"
Обратите внимание, что в приведенных примерах кода предполагается, что значения RGB находятся в допустимом диапазоне (0–255) и что входные данные правильно проверены перед преобразованием.