システム内のすべてのユーザーに対してランダムな色を生成する必要があります。秘訣は、2 人のユーザーが非常に似た色を持つことができず、区別できる必要があるということです。元の混合色を指定してランダムな色を生成するコードがありますが、PHP のみを使用してコントラストの高いランダムな色を生成する方法を見つけることができません
public static function generateRandomColor($rgb)
{
$red = rand(1, 256);
$green = rand(1, 256);
$blue = rand(1, 256);
if (! empty($rgb))
{
$red = ($red + $rgb['red']) / 2;
$green = ($green + $rgb['green']) / 2;
$blue = ($blue + $rgb['blue']) / 2;
}
$color = "rgb({$red}, {$green}, {$blue})";
return $color;
}
そして、私はループを持っています:
$colorsArr = array();
$mixed = array('red' => 255, 'green' => 255, 'blue' => 255);
for($i = 0; $i < count($users); $i++)
{
$color = generateRandomColor($mixed);
$colorsArr .= '<div style="width:25px; height: 25px; background-color: ' . $color . '"></div>';
}
これで色が生成されますが、いくつかの色は互いに似ています。目標は、各ユーザーに固有の色を持たせることです。どんな助けでも感謝します。
注: 500 ユーザーの色をハードコーディングしたくありません