随机生成十六进制颜色代码

时间:2013-10-30 07:39:54

标签: php background-color

我需要在飞行中设置页面的“随机”背景颜色。是否有任何PHP函数来生成可以帮助的Hex颜色代码或代码段。

4 个答案:

答案 0 :(得分: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值。

答案 1 :(得分:0)

你可以试试这个

     <?php


         /**
         * Get random color hex value
         *
         * @param  int $max_r Maximum value for the red color
         * @param  int $max_g Maximum value for the green color
         * @param  int $max_b Maximum value for the blue color
         * @return string
         */

       echo getRandomColorHex();

       function getRandomColorHex($max_r = 255, $max_g = 255, $max_b = 255)
       {
          // ensure that values are in the range between 0 and 255
          $max_r = max(0, min($max_r, 255));
          $max_g = max(0, min($max_g, 255));
          $max_b = max(0, min($max_b, 255));

          // generate and return the random color
          return str_pad(dechex(rand(0, $max_r)), 2, '0', STR_PAD_LEFT) .
                 str_pad(dechex(rand(0, $max_g)), 2, '0', STR_PAD_LEFT) .
                 str_pad(dechex(rand(0, $max_b)), 2, '0', STR_PAD_LEFT);
        }

答案 2 :(得分:0)

sprintf('%06x', mt_rand(0, 1<<24 - 1));

红色,绿色和蓝色的颜色为8位,因此我们选择一个随机的24位数字。然后我们将其填充并将其打印为十六进制。

答案 3 :(得分:0)

$random_color = dechex(rand(0,255*255*255));