【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
)
となります。
あわせて読んでほしい!
コメント
まだコメントはありません。
コメントフォーム