如何自动确定与白色相似的颜色?

How can I automatically determine colors similar to white?

本文关键字:相似 颜色 白色 何自动      更新时间:2023-09-26

我正在寻找十六进制代码格式的颜色列表或某些模式的十六进制代码是白色的颜色/白色的阴影。

我一直在使用维基百科的白色阴影列表,但我认为它不完整,理想情况下我想要一些白色的正则表达式模式。

我对颜色不是很了解,所以如果这是一个无知的问题,请原谅。

也许这个函数对你有帮助?

它的作用是测试值是否为白色(高于r/g/b值200)。如果在#FFBBEE中提供的rgb值中的任何一个计算值低于200,则测试将失败。

这是一个非常非常粗糙的测试,但由于你有点缺乏你确切想要的细节,这可能是一个很好的起点。至少该函数提供了将其转换为整数值的方法,您可以再次使用它以更好的格式(如HSL)进行计算,这将允许您进行更好的亮度检查。如果你想去那个方向看这个答案

其他答案解释了什么是RGB以及这是如何在你使用的颜色代码中组合的,特别是user1203738的答案

function isWhite(str) {
    // fiddle this value to set stricter rules for what is white.
    var whiteLimit = 200, 
        r,g,b;
    
    r = parseInt("0x"+str.substring(1,3));
    g = parseInt("0x"+str.substring(3,5));
    b = parseInt("0x"+str.substring(5,7));
    if(r < whiteLimit || b < whiteLimit || g < whiteLimit) {
        return false;
    } 
    return true;    
}
// use this function like this. supply it a colour code with a # in front of it
isWhite("#FFFFFF");
<input type="text" value="#FFFFFF" id="colorcode">
<input type="button" value="test if this is white" onclick="document.getElementById('showcolor').style.backgroundColor = document.getElementById('colorcode').value;document.getElementById('showcolor').innerText='Shade of white:'+isWhite(document.getElementById('colorcode').value);">
<div id="showcolor" style="display:block;width:200px;height:200px;margin:50px;border 1px solid black;background-color:#AAA"></div>

表示红、绿、蓝三种光的混合。#FFFFFF翻译成白色,FF红色,FF绿色和FF蓝色。你可以将十六进制FF值转换回255,

想象一下,如果你有3盏彩色的灯;红色,绿色和蓝色。你要把这些灯混合在一起。十六进制值决定了每个灯的强度。

  • #000000为黑色。没有灯打开。
  • #FF0000将是全红色。只有红灯亮。
  • #FFFF00会给你黄色。红色和绿色灯亮(并组合成黄色)
  • #FFFFFF会给你一个白色。所有的灯都亮了,
  • #AAAAAA会给你一个灰色的颜色,所有的灯都是亮的,但是有点暗。
  • #FFFFF0会给你黄白色,所有的灯都打开,但蓝色缺乏一些强度。

我建议你尝试一下颜色选择器,看看改变这些值意味着什么。

白色的颜色/色调是非常广泛的,正如克拉尔在评论中提到的,你应该定义什么是白色。

一般情况下,Red、Green和Blue值接近且强度大于200时呈现白色。

将RGB值转换为HSL可能更容易,(这超出了这个问题的范围)。因为H(ue)值是不相关的,所以S(饱和度)应该很低(没有颜色)。L(light/brightness)值要调高,这样才能显示白色

这不是完美的,但它可能使您接近:

步骤1:将颜色名称转换为RGB十六进制。

步骤2:检查每个的Red, Green和Blue十六进制值的第一个字符是否为e或f。这可以通过正则表达式完成,例如:

/^#([ef][a-f0-9]){3}$/i

更多的例子是什么被认为是白色的阴影,参见参见百科全书。这个问题与平面设计界更相关。