gpt4 book ai didi

php - 使用 PHP 生成随机颜色

转载 作者:IT王子 更新时间:2023-10-29 00:07:09 27 4
gpt4 key购买 nike

我试图在 PHP 中生成随机的 HTML 颜色,但我无法让它们看起来相似或属于同一系列。除了生成和连接 6 个随机十六进制数字之外,是否有一些函数可以用来生成与另一种颜色“相似”的颜色?

最佳答案

你可以

  1. 生成一个介于 25 和 230 之间的随机十进制数(您的“基本”数字)
  2. 生成 3 个 1 到 25 之间的随机数(任意决定它们是正数还是负数)
  3. 将这三个数字与您的基数相加得到三个不同的数字(您的 R、G 和 B)
  4. 重复第 2 步和第 3 步以获得更多相似的颜色

您可以扩大修饰符编号的范围(从 1 到 25)以获得更多颜色变化(您还必须更改基数的范围,因此您保持在 0 到 255 之间).

我对PHP一无所知,这就是为什么我不放代码的原因。但我认为这是一个有趣的问题 =)

编辑:我意识到在第 1 步中生成 3 个随机基数将使您看起来不那么柔和(灰色)。然后你可以按照步骤 2 和 3 来获得不同的阴影等。正如我已经提到的(并且,正如@Peter 提到的,增加修饰符数量会冒着获得更少“相似”颜色的风险)

此技术的示例输出(基于两组不同的基数):

random, similar colors

编辑 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]);'>&nbsp;Base Color&nbsp;</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/>";
}
?>

关于php - 使用 PHP 生成随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7263140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com