【发布时间】:2017-10-28 09:54:30
【问题描述】:
请注意,我已经阅读了Generating a random hex color code with PHP,并且我也从那个问题中得到了帮助。但我的问题与那个问题不同。
我将创建 1000 多张图片,其中包含一些如下图所示的文字。
文本颜色始终为白色。我需要随机生成背景颜色。我使用以下代码生成随机颜色。
<?php
function random_color_part() {
return str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);
}
function random_color() {
return random_color_part() . random_color_part() . random_color_part();
}
echo random_color();
?>
此脚本也生成浅色,如白色、浅黄色、浅蓝色。我需要删除它们。因为如果背景颜色也是浅色,则很难阅读文本。
那么有没有办法修改这段代码只生成深色?
【问题讨论】:
-
取决于你的“光”阈值在哪里,但是你的随机数越接近 255,颜色就会越亮。降低上限会让你的颜色变深。
-
@rickdenhaan 这意味着如果数字接近 255 它是轻的?我对么?因此,如果我将
mt_rand( 0, 255 )修改为mt_rand( 0, 150)之类的东西,它总是返回深色? -
减少
255常数。越低 - 越暗。