你可以
>在25和230之间生成一个随机的十进制数(你的“基数”)
>生成1到25之间的3个随机数(任意决定它们是正还是负)
>将这三个数字加到你的基数,得到三个不同的数字(你的R,G和B)
>重复步骤2和3以获得更多相似的颜色
您可以扩大修饰符号(范围从1到25)的范围,以获得颜色的更多差异(您也必须更改基数的范围,因此您将保持在0到255之间).
我不知道什么关于PHP,这就是为什么我没有代码.但我认为这是一个有趣的问题=
编辑:我意识到,在步骤1中产生3个随机基数可以让你看起来更少(灰色).然后,您可以按照步骤2和3获得不同的色调等,如我已经提到的(和@Peter所提到的,增加修饰符编号有风险减少“相似”的颜色)
该技术的示例输出(基于两组不同的基数):
编辑2:这是@Peter Ajtai的PHP实现
$spread = 25;
for ($row = 0; $row < 100; ++$row) {
for($c=0;$c<3;++$c) {
$color[$c] = rand(0+$spread,255-$spread);
}
echo "
";
for($i=0;$i<92;++$i) {
$r = rand($color[0]-$spread, $color[0]+$spread);
$g = rand($color[1]-$spread, $color[1]+$spread);
$b = rand($color[2]-$spread, $color[2]+$spread);
echo "
}
echo "
";
}
?>