PHP 获取应与文本颜色白色兼容的随机颜色?

PHP get random colors which should compatible with text color white?

到目前为止,这是我尝试过的方法,但有时它会给出非常浅的颜色。

public static function randomColor($minVal = 0, $maxVal = 255)
    {

        // Make sure the parameters will result in valid colours
        $minVal = $minVal < 0 || $minVal > 255 ? 0 : $minVal;
        $maxVal = $maxVal < 0 || $maxVal > 255 ? 255 : $maxVal;

        // Generate 3 values
        $r = mt_rand($minVal, $maxVal);
        $g = mt_rand($minVal, $maxVal);
        $b = mt_rand($minVal, $maxVal);

        // Return a hex colour ID string
        return sprintf('#%02X%02X%02X', $r, $g, $b);
    }

您可以使用此代码生成随机深色。您还可以通过更改函数参数中的 127 来更改暗度阈值。

function random_color_part($threshold = 127)
{
    $dt = '';
    for ($o = 1; $o <= 3; $o++) {
        $dt .= str_pad(dechex(mt_rand(0, $threshold)), 2, '0', STR_PAD_LEFT);
    }
    return '#' . $dt;
}