【PHP】カラーコードをRGB数値に変換する方法

公開日:
更新日:
カテゴリー: PHP

PHPでカラーコードをRGB数値に変換する方法を説明しています。

16進数→10進数に変換

カラーコードは16進数、RGB数値は10進数なので、hexdec関数を使えばほんの数行でカラーコードをRGB数値に変換できます。

hexdec関数は、16進数を10進数に変換する関数です。

hexdec(ここに16進数);

引数に16進数の文字列を指定すると、それと等価な10進数の値を返してくれます。

もし16進数以外の文字列を引数に渡すと、それは無視されます。

カラーコードをRGB数値に変換

ということで、hexdec関数を使ってカラーコードをRGB数値に変換してみたいと思います。

カラーコードは「#******」という形で、左から「**(16進数)」で「赤・緑・青」の指定となっています。

そのため「**」で区切ってそれぞれhexdec関数で10進数に変換すれば目的が達成できます。

<?php
//RGB数値に変換するカラーコード
$colorcode = "ここにカラーコード";

//「#******」のような形でカラーコードがわたってきた場合「#」を削除する
$colorcode = preg_replace("/#/", "", $colorcode);

//「******」という形になっているはずなので、2つずつ「**」に区切る
//そしてhexdec関数で変換して配列に格納する
$array_colorcode["red"] = hexdec(substr($colorcode, 0, 2));
$array_colorcode["green"] = hexdec(substr($colorcode, 2, 2));
$array_colorcode["blue"] = hexdec(substr($colorcode, 4, 2));

//配列の中身の確認
print_r($array_colorcode);
?>

このプログラムにカラーコード「#C71585(もしくはC71585)」を渡すと、

 Array
(
    [red] => 199
    [green] => 21
    [blue] => 133
)

 となります。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント