Вот пример функции JavaScript, которая преобразует значения RGB в шестнадцатеричный код цвета:
function rgbToHex(r, g, b) {
const componentToHex = (c) => {
const hex = c.toString(16);
return hex.length === 1 ? "0" + hex : hex;
};
const red = componentToHex(r);
const green = componentToHex(g);
const blue = componentToHex(b);
return "#" + red + green + blue;
}
Эта функция принимает три параметра: rдля красного значения (0–255), gдля зеленого значения (0–255) и bдля значения синего цвета (0–255). Он возвращает шестнадцатеричный код цвета в формате «#RRGGBB».
Вот несколько альтернативных методов преобразования RGB в шестнадцатеричный формат в JavaScript:
Метод 1: использование литералов шаблона
function rgbToHex(r, g, b) {
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
}
Метод 2: использование побитовых операторов
function rgbToHex(r, g, b) {
return "#" + ((r << 16) + (g << 8) + b).toString(16).padStart(6, '0');
}
Метод 3: использование назначения деструктуризации ES6
function rgbToHex(r, g, b) {
const [red, green, blue] = [r, g, b].map((component) =>
component.toString(16).padStart(2, '0')
);
return `#${red}${green}${blue}`;
}