WEB/システム/IT技術ブログ

PHPでカラーコード「HEX」を「RGB」に変換する

PHPでカラーコード「HEX」を「RGB」に変換する方法です。

CMSで設定したテーマカラーなどに透過率を指定したく、既にHEXで設定されているカラーコードでは都合が悪かったので、システム内でRGBに変換しました。

HEXとRGBの違いについては、赤、緑、青の3原色を、それぞれ16進数、10進数で表現しています。
したがって、処理としてはシンプルに16進数を10進数に変換すればよいだけです。

例えば、任意の赤「#F44336」をRGBに変換します。

$color_hex = "#F44336";

$code_red = hexdec(substr($color, 1, 2));
$code_green = hexdec(substr($color, 3, 2));
$code_blue = hexdec(substr($color, 5, 2));
 
$color_rgb = "rgb(" . $code_red . ", " . $code_green . ", " . $code_blue . ")";

HEXでは2桁ごとに3原色を表しているので、まずは文字列を「#」を除いた「F4」「43」「36」に分けます。
それぞれ関数「hexdec」を使って16進数から10進数に変換した後に、RGBの文字列フォーマットに当てはめれば「rgb(244,67,54)」となります。

これで「rgba(244,67,54,0.3)」のようにスタイルで透過率が指定できるようになりました。

デザインには疎いので、はじめは難しいかと思っていましたが、意外と簡単ですね。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives