勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法

  PHP

PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」までの英数字からランダムに6桁取得すれば良いが、そうすると見づらい色とかも当然出てくる。この辺りを解決できないかと調べたところ「RandomColor.php」ライブラリが良さそう。以下にサンプルと利用方法をメモ。

 

RandomColor.php

公式サイト

https://www.strangeplanet.fr/work/RandomColor.php/

GitHub

https://github.com/mistic100/RandomColor.php

 

インストール

こちらからRandomColor.phpをダウンロードし、適当なディレクトリにアップロードする。

 

サンプル

https://taitan916.info/sample/RandomColor.php/

ページリロードの度にカラーコードが変わる点が確認できる筈。

 

利用方法

ソースコード

<?php
require 'RandomColor.php';

//生成するカラーコードの数
$count = 5;

//オプション指定なし
$colors = \Colors\RandomColor::many($count);
var_dump($colors); //array(5) { [0]=> string(7) "#ce5a5c" [1]=> string(7) "#a91cd8" [2]=> string(7) "#1df988" [3]=> string(7) "#abfce8" [4]=> string(7) "#f2ef93" }

//明るい色を指定
$light_colors = \Colors\RandomColor::many($count, array('luminosity'=>'light'));
var_dump($light_colors); //array(5) { [0]=> string(7) "#72ef6b" [1]=> string(7) "#b8f48d" [2]=> string(7) "#f28579" [3]=> string(7) "#ddffa3" [4]=> string(7) "#dcabf2" }

$green_colors = \Colors\RandomColor::many($count, array('hue'=>'green'));
var_dump($green_colors); //array(5) { [0]=> string(7) "#7cffa6" [1]=> string(7) "#2eddd8" [2]=> string(7) "#91a821" [3]=> string(7) "#71e297" [4]=> string(7) "#b6d666" } 

 

所感

公式サイトにも書かれているが彩度が適度に高い明るい色を生成してくれるらしく、それが見やすい色になるっぽい。

尚、JavaScript版もあるようなのでこちらも試してみたいところ。

 - PHP

  関連記事

JavaScriptでデータをGzip等で圧縮できる「pako」ライブラリの利用方法
JavaScriptでデータをGzip等で圧縮できる「pako」ライブラリの利用方法

以前「zcookies」というライブラリの利用方法をメモしたが、当該ライブラリの ...

JavaScriptライブラリChart.jsでグラフの描写する方法
JavaScriptライブラリChart.jsでグラフの描写する方法

JavaScriptでグラフを描写する必要があり、普段はHighchartを使用 ...

パスワードの強度を判定できる「zxcvbn」ライブラリの使用方法
パスワードの強度を判定できる「zxcvbn」ライブラリの使用方法

アカウントを作成するようなページで偶にパスワードの強度を判定してメーターで表示さ ...

formで複数選択可能なセレクトメニュー(プルダウン)を実装する方法(select2)
formで複数選択可能なセレクトメニュー(プルダウン)を実装する方法(select2)

フォームで複数選択可能なセレクトボックス(プルダウン)を実装したい。ただHTML ...

JavaScriptのライブラリ「crypto-js」を使用して暗号化・復号化・ハッシュ化する方法
JavaScriptのライブラリ「crypto-js」を使用して暗号化・復号化・ハッシュ化する方法

JavaScriptにてCookie等にデータを保存する際に暗号化したものを保存 ...