技巧 #1
<?php
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
?>
然后在您需要的地方输出 $color 值。例如
<body style="background: <?php echo $color; ?>;">
技巧 #2
<?php printf( "#%06X\n", mt_rand( 0, 0xFFFFFF )); ?>
还有一个 JavaScript 版本。
更简单的版本
<php $color = sprintf(“#%06x”,rand(0,16777215)); ?>
<body style="background: <php echo $color; ?>;”>
谢谢,我喜欢你更好的。简单。
有趣的是,几天前我不得不完成这项确切的任务。这是我想出的
$color = str_pad(dechex(rand(0,16777215),6, "0", STR_PAD_LEFT);
在技巧 #1 中,您可以调整代码以从代码中获取红色、绿色和蓝色阴影。您需要处理的只是最多 15 的值。
我可以从预设的颜色十六进制列表中随机化十六进制颜色吗?如果是这样,怎么做?
是的,您可以使用 #1,但您的预设列表必须有一些共同的数字,例如 #axbxcx 或 #aabbxx
对于解决方案 #1,您实际上可以控制随机颜色,而 #2 则无法控制。
这个怎么样?
$rand = dechex(rand(0x000000, 0xFFFFFF));
echo('#' . $rand);
如果需要,您可以将 rand 更改为 mt_rand,并且可以在 dechex 周围放置 strtoupper() 以使随机数看起来更漂亮(尽管这不是必需的)。这将看起来像
$rand = strtoupper(dechex(rand(0x000000, 0xFFFFFF)));
它运行完美,并且比此处描述的所有其他方法都简单得多 :)
我使用了以下代码行并多次刷新了我的页面(可能至少 30 次),并注意到对于它是“随机的”,它似乎总是以 00 结尾……我认为我没有任何一次没有发生这种情况。
$rand = strtoupper(dechex(rand(0x000000, 0xFFFFFF)));
如果您不希望从 000 到 fff 完全随机的颜色,则可以很好地控制 3 个组件颜色。
$random_color = sprintf("%02x%02x%02x", mt_rand(0x22, 0xaa), mt_rand(0x22, 0xaa), mt_rand(0x22, 0xaa));
调整每个 mt_rand 以使其成为您想要的颜色范围。在这里,我选择了 22 到 aa,因此结果不会太饱和。
最后一个代码片段非常有趣:)。谢谢。
你好!谢谢。
我在这个游戏中尝试了所有这些选项 http://lincygame.plenicus.com。每个解决方案都提供了不同的级别。
Phil 的代码片段非常好:)。
我创建了一个 随机颜色生成器,它获取三种颜色,确定每种颜色在视觉上是相对较亮还是较暗,然后对相同色调的文本应用较亮或较暗的版本。源代码链接在页面上。(这有点像一个持续的实验,所以它可能会改变,或者我可能会制作未来的版本。)
RGB 颜色
RGBA 颜色
随机 十六进制颜色代码 用于以数值形式表示颜色,作为 [0,255] 范围内的三个值:红色、绿色和蓝色。随机颜色代码生成器应用程序将在 1 秒内为您生成多达 2,000 个色彩丰富的颜色代码。随机化使您可以通过混合不同的颜色来生成美丽的颜色组合。