Javascript 这是否可以检测颜色是浅颜色还是深颜色?

Javascript 这是否可以检测颜色是浅颜色还是深颜色?,javascript,php,colors,comparison,Javascript,Php,Colors,Comparison,考虑以下两个粉红色正方形: 这是: 你可能知道,一个更亮,一个更暗或更尖锐。 问题是,我可以通过人眼来判断,但这是否可能使用系统方式或程序方式来检测这些信息?至少,这是否可能有一个值告诉我颜色更像白色,或者颜色不太像白色?(假设我得到了该颜色的RGB代码。)谢谢。因为您没有指定任何特定的语言/脚本来检测较暗/较亮的十六进制,我想为此提供一个PHP解决方案 正如所指出的,我已经修改了我的函数,以产生更好/更准确的结果。。。(增加亮度) 下面是确定浅色或深色的Python代码。该配方基于HS

考虑以下两个粉红色正方形:

这是:

你可能知道,一个更亮,一个更暗或更尖锐。
问题是,我可以通过人眼来判断,但这是否可能使用系统方式或程序方式来检测这些信息?至少,这是否可能有一个值告诉我颜色更像白色,或者颜色不太像白色?(假设我得到了该颜色的RGB代码。)谢谢。

因为您没有指定任何特定的语言/脚本来检测较暗/较亮的十六进制,我想为此提供一个PHP解决方案


正如所指出的,我已经修改了我的函数,以产生更好/更准确的结果。。。(增加亮度)


下面是确定浅色或深色的Python代码。该配方基于HSP值。HSP(高灵敏度Poo)方程用于确定颜色是浅还是暗

import math
def isLightOrDark(rgbColor=[0,128,255]):
    [r,g,b]=rgbColor
    hsp = math.sqrt(0.299 * (r * r) + 0.587 * (g * g) + 0.114 * (b * b))
    if (hsp>127.5):
        return 'light'
    else:
        return 'dark'

我已经在你的问题中添加了一些标签,但是如果你想检测除了我标记的语言之外的颜色比较,那么请添加该语言的相关标签是的,这是可能的,但是为了得到正确的答案,你需要提供更多的信息。我们说的是读取图像文件吗?如果是,图像是否仅由一种颜色构成?我们谈论的是什么语言?我只想比较两个像素,而且…我认为它可以应用于所有语言,因此,没有提到特殊的语言。在JavaScript中,您可以参考使用它可能有助于改进功能
function conversion($hex) {
    $r = 0.2126*hexdec(substr($hex,0,2)); //Converting to rgb and multiplying luminance
    $g = 0.7152*hexdec(substr($hex,2,2));
    $b = 0.0722*hexdec(substr($hex,4,2));

    return $r + $g + $b;
}
import math
def isLightOrDark(rgbColor=[0,128,255]):
    [r,g,b]=rgbColor
    hsp = math.sqrt(0.299 * (r * r) + 0.587 * (g * g) + 0.114 * (b * b))
    if (hsp>127.5):
        return 'light'
    else:
        return 'dark'