Преобразование RGB в Hex в JavaScript: методы и примеры

Чтобы преобразовать 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) и что входные данные правильно проверены перед преобразованием.