Laravel:试图检测一系列的十六进制颜色



我试图避免使用库来做这件事,但我将十六进制颜色作为字符串发送给一个方法,我想确定它是白色(或接近白色(,如果是,则抛出异常。

$color = $request->input('color') // '#FFFFFF'

对于白色(如上所述(或任何单一颜色,这样做都是不言自明的,但如果不明确地创建一个具有每种浅色的阵列,我就不知道如何绘制出一束浅色

可能有100种方法可以满足您的要求,这是第一个想到的方法。

$color = "#FAFBFE";
$numVal = hexdec(substr($color, 1));
$red = ($numVal & 0xFF0000) >> 16;
$green = ($numVal & 0xFF00) >> 8;
$blue = $numVal & 0xFF;
if ($red >= 225 && $green >= 225 && $blue >= 225) {
// Close enough
}

最新更新