我需要生成随机颜色系统中的所有用户。 诀窍是,用户不能拥有非常相似的颜色,他们需要区分。 我的代码中给出的原始混音颜色来生成随机颜色,但不能找到一种方法来生成随机颜色与高对比度只使用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个用户