我正在尝试在PHP中生成随机HTML颜色,但我无法让它们看起来相似,或者在同一个系列中.是否有一些功能我可以用来生成与另一种颜色"相似"的颜色,除了生成和连接6个随机十六进制数字?
Jos*_*ell 21
你可以
您可以扩大修改器编号的范围(从1到25之间)以获得更多的颜色差异(您还必须更改基本编号的范围,因此保持在0到255之间).
我对PHP一无所知,这就是为什么我不放代码.但我认为这是一个有趣的问题=)
编辑: 我意识到在步骤1中生成3个随机基数将使您看起来不那么柔和(灰色)颜色.然后你可以按照步骤2和3来获得不同的阴影等,正如我已经提到的那样(并且,正如@Peter所提到的那样,增加修改器数量有可能获得更少的"相似"颜色)
此技术的示例输出(基于两组不同的基数):

编辑2:这是@Peter Ajtai的PHP实现
<?php
$spread = 25;
for ($row = 0; $row < 100; ++$row) {
for($c=0;$c<3;++$c) {
$color[$c] = rand(0+$spread,255-$spread);
}
echo "<div style='float:left; background-color:rgb($color[0],$color[1],$color[2]);'> Base Color </div><br/>";
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 "<div style='background-color:rgb($r,$g,$b); width:10px; height:10px; float:left;'></div>";
}
echo "<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)
Max*_*Max 17
发现一些更好的东西发布在一个名为的人的博客上Craig Lotter:
$randomcolor = '#' . dechex(rand(0,10000000));
Run Code Online (Sandbox Code Playgroud)
你可以创建自己的函数来生成你自己的 RGB 颜色
http://sandbox.phpcode.eu/g/bf2a5/1
<?php
function gen(){
for($i=1;$i<200;$i++){
echo "<div style='color:rgb($i,$i,0);'>hello</div>";
}
}
gen();
?>
Run Code Online (Sandbox Code Playgroud)
或背景颜色
http://sandbox.phpcode.eu/g/bf2a5/2
<?php
function gen(){
for($i=1;$i<200;$i++){
echo "<div style='background-color:rgb($i,$i,0);'>hello</div>";
}
}
gen();
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25023 次 |
| 最近记录: |