求随机产生颜色代码的php程序

magicone 2009-08-28 07:32:01
呵,想写个投票模块.想随机产生个颜色代码数组.比如#5DBBEF #95E62A

本来很简单....


for($a=0;$a<6;$a++){ //采用#FFFFFF方法,
$d.=dechex(rand(0,15));//累加随机的数据--dechex()将十进制改为十六进制
}


我想实现的效果是,能色彩分明,最好都是亮色.而且要区分于底色的白色.

呵呵,哪位php美工双达人老师做过这样的项目~~ 教我一下哈~~
...全文
428 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq550612330 2009-08-29
那还不如写个数组,把你想用到的几个亮色代码都放进去,然后随机取出一个,人的肉眼能清晰分辨出来的也没多少种吧。。。
回复
qq550612330 2009-08-29
[Quote=引用 3 楼 magicone 的回复:]
楼上的老师~~ 谢谢您~~

写成#5DBBEF 的样式,怎么写呢???
[/Quote]

把2#大师的代码改下:
<?php
$a = 255*256*256+255*256+255;
$b = rand(0,$a);
// 普通随机色
echo sprintf('<span style="color:#%x;">t</span>', $b);
// 亮色
$r = 128*256*256;
$g = 128*256;
$b = 128;

$color=rand($r,255*256*256)+rand($g, 255*256)+rand($b, 255);
echo sprintf('<span style="color:#%x;">t</span><br>', $color);
//以#FFFFFF形式显示颜色代码
echo dechex($color);
exit;
?>

貌似LZ会用dechex()这个函数,为什么还问这个问题呢?
回复
mrshelly 2009-08-29

<?php
$a = 255*256*256+255*256+255;

$b = rand(0,$a);

// 普通随机色
echo sprintf('#%x<br />', $b);

// 亮色
$r = 128*256*256;
$g = 128*256;
$b = 128;

echo sprintf('#%x<br />', rand($r,255*256*256)+rand($g, 255*256)+rand($b, 255));

exit;
回复
magicone 2009-08-29
呵~~ 看一下我的问题~~ 如果只是随机色~~ 我那段代码就行了吧~~~
回复
dzxccsu 2009-08-29
[Quote=引用 5 楼 magicone 的回复:]
楼上的老师~~  这样出来的颜色不确定吧~~  有些和白色相近~~~
[/Quote]颜色是随机的,你不就是要这效果吗?
回复
magicone 2009-08-29
楼上的老师~~ 这样出来的颜色不确定吧~~ 有些和白色相近~~~
回复
dzxccsu 2009-08-29
下面可达到你的要求!

$string="0123456789ABCDEF";
$rand='';
for($i=0;$i<6;$i++){
$rand .= substr($string,mt_rand(0,strlen($string)-1),1);
}
$color="#".$rand;
echo $color;


回复
magicone 2009-08-29
楼上的老师~~ 谢谢您~~

写成#5DBBEF 的样式,怎么写呢???
回复
mrshelly 2009-08-29

<?php
$a = 255*256*256+255*256+255;

$b = rand(0,$a);

// 普通随机色
echo sprintf('<span style="color:#%x;">t</span>', $b);

// 亮色
$r = 128*256*256;
$g = 128*256;
$b = 128;

echo sprintf('<span style="color:#%x;">t</span>', rand($r,255*256*256)+rand($g, 255*256)+rand($b, 255));

exit;
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告