JavaScript で RGB を HEX に変換する

Ammar Ali 2023年10月12日
JavaScript で RGB を HEX に変換する

このチュートリアルでは、JavaScript の toString() 関数を使用して RGB を HEX に変換する方法について説明します。

JavaScript の toString() 関数を使用して RGB を HEX に変換する

JavaScript には、異なる色空間間で変換できる定義済みの関数が存在しないため、異なる色空間間の変換は困難です。

したがって、ある色空間を別の色空間に変換するには、独自の変換関数を作成する必要があります。変換関数を作成するには、2つの色空間の違いを知る必要があります。

たとえば、RGB と HEX の色空間の違いは、RGB が 10 進形式であり、HEX が 16 進形式であるということです。RGB から HEX に変換するには、各色の 10 進数を RGB から 16 進数に変換し、それらを連結して同等の 16 進色空間を作成するだけです。

値を 10 進数から 16 進数に変更するには、toString(16) 関数を使用できます。変換された数値の長さが 1 の場合、その前に 0 を追加する必要があります。以下のコードを参照してください。

function ColorToHex(color) {
  var hexadecimal = color.toString(16);
  return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
}

function ConvertRGBtoHex(red, green, blue) {
  return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
}
console.log(ConvertRGBtoHex(255, 100, 200));

出力:

#ff64c8

parseInt() 関数を使用して、HEX から RGB に変換することもできます。HEX 色空間には、最初の桁を除く 6 桁が含まれます。最初の 2 桁を取得し、parseInt() 関数を使用してそれらを 10 進形式に変換する必要があります。これは、赤色になります。同様に、次の 2 桁は緑色になり、残りは青色になります。

たとえば、parseInt() 関数を使用して HEX カラーを RGB に変換してみましょう。以下のコードを参照してください。

var hex = '#ff64c8';
var red = parseInt(hex[1] + hex[2], 16);
var green = parseInt(hex[3] + hex[4], 16);
var blue = parseInt(hex[5] + hex[6], 16);
console.log(red, green, blue);

出力:

255 100 200

上記のコードを使用して関数を作成することもできるため、コードを再度記述する必要はありません。同様に、任意の色空間を別の色空間に変換できます。異なる色空間の違いを理解する必要があります。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - JavaScript Color