JavaScript: 通过十六进制代码检索颜色名, How to retrieve the human name of a color by its hex code in JavaScript

JavaScript: 通过十六进制代码检索颜色名, How to retrieve the human name of a color by its hex code in JavaScript
JavaScript: 通过十六进制代码检索颜色名, How to retrieve the human name of a color by its hex code in JavaScript

在客户的所有奇怪的欲望中,其中最怪异的一个肯定是设计师。最近我需要满足声音最初很奇怪的要求,通过JavaScript中的十六进制代码检测颜色的名称。最初,经过一些研究,我发现这项任务有多么困难。 幸运的是,JavaScript中的一些实现具有很大的潜力,特别是Name That Color库。

在本文中,我们将向您解释如何使用容易使用Color的JavaScript库名称。

 

1.下载NTC.js

您可以从官方网站下载ntc.js脚本文件。 使用NTC工具,您将能够根据给定的代码和类中的寄存器猜出最接近的颜色。值得一提的是,通过十六进制代码猜测颜色的艺术非常棘手,以及命名颜色的欣赏也会有所不同。但是,原始JS脚本提供了与您的十六进制代码匹配的各种颜色,如果它没有在类中注册,它将返回最接近的颜色。

有关此项目的更多信息,请访问此处的官方网站

 

2.如何使用

最初,您只需要转换由库创建的ntc对象的name方法,其初始化需要一点执行时间,因为它将创建一个非常巨大的调色板,用于将十六进制代码与可用数据进行比较。从实例中,您将能够使用3种方法。我们感兴趣的只是name有用的方法:

<!-- Include name that color library -->
<script type="text/javascript" src="ntc.js"></script>

<script type="text/javascript">
    // 1. You need a hex code of the color
    var ColorCode = "#008559";

    // 2. Rate the color using NTC
    var ntcMatch  = ntc.name(ColorCode);

    // 3. Handle the result. The library returns an array with the identified color.

    // 3.A RGB value of closest match e.g #01826B
    console.log(ntcMatch[0]);
    // Text string: Color name e.g "Deep Sea"
    console.log(ntcMatch[1]);
    // True if exact color match, a Boolean
    console.log(ntcMatch[2]);
</script>

 

此方法需要第一个参数为十六进制颜色代码为6或3位的字符串,例如#ffffff或#fff,并根据颜色猜测过程返回一个数组,其中包含您需要知道的数据。该数组分别包含3个项目:

  • 0:类中最接近颜色的十六进制颜色。
  • 1:赋予颜色的人名。
  • 2:布尔值,确定颜色代码是否与名称完全相同。

您要查找的属性是返回十六进制颜色代码的人名的名称键,在这种情况下是深海颜色,但它适用于您提供的几乎每种十六进制颜色,如果它不是使用您的颜色,您将收到具有相同3项的数组,但具有以下值:

  • 0:#000000。
  • 1:无效的颜色:$ yourHexCodeString。
  • 2:假的

快乐的编码 

 

 

本文: JavaScript: 通过十六进制代码检索颜色名, How to retrieve the human name of a color by its hex code in JavaScript

Leave a Reply