如何通过PHP中的十六进制代码检索颜色的人名

本文概述

  • 1.安装-包括颜色名称
  • 2.使用方法
在客户的所有奇怪需求中, 最怪异的肯定是设计师之一。最近, 我需要满足一个听起来很奇怪的要求, 即通过PHP中的十六进制代码来检测颜色的名称。最初, 经过一些研究, 我发现这项任务有多困难。我在JavaScript中发现了一些实现潜力很大的实现, 但是它们在PHP语言中不可用, 因此基本上我需要在PHP中移植其中的一些脚本, 一段时间后我最终创建了该名称- -PHP中的-color库。 name-that-c??olor的PHP版本是NTC JS库的非官方PHP端口, 用于查找最匹配(或精确)颜色的名称。
1.安装-包括颜色名称在PHP中使用此库的首选方法是通过Composer使用以下命令:
composer require ourcodeworld/name-that-color

安装后, 你将能够使用该库的颜色解释器类。或者, 如果你不使用作曲家, 则仍然可以使用包装器。只需从存储库下载ColorInterpreter.php类, 然后使用require_once将其导入代码中即可:
< ?phprequire_once("ColorInterpreter.php"); $instance = new ColorInterpreter(); // Rest of the code ...// $instance-> name("#FFF");

使用ColorInterpreter类, 你将能够根据给定的代码和该类中的寄存器来猜测最接近的颜色。值得一提的是, 通过十六进制代码猜测颜色的技巧非常棘手, 对颜色命名的欣赏也可能会有所不同。但是, 原始的JS脚本会提供多种颜色, 这些颜色可能与你的十六进制代码匹配, 如果未在类中注册, 它将返回最接近的颜色。
有关此库的更多信息, 请访问Github上的官方存储库。
2.使用方法最初, 你只需要强制转换颜色解释器类, 因为它的初始化会花费一些执行时间, 因为它会创建一个非常大的调色板, 用于将你的十六进制代码与可用数据进行比较。从实例中, 你将可以使用3种方法。我们感兴趣的只是name方法有用:
< ?php// If you are using composer, include the classuse ourcodeworld\NameThatColor\ColorInterpreter; $instance = new ColorInterpreter(); $result = $instance-> name("#008559"); // 1. Print the human name e.g "Deep Sea"echo $result["name"] . "\n"; // 2. Print the hex code of the closest color with a name e.g "#01826B"echo $result["hex"] . "\n"; // 3. Print wheter the given hex code is exact as a color with a name//or if it has been derivedif($result["exact"]){echo "The given hex code is exact as the name"; }else{echo "A similar color with a name has been picked"; }

此方法将以十六进制颜色代码为6或3位的字符串(例如#ffffff或#fff)作为第一个参数, 并返回一个数组, 该数组包含根据颜色猜测过程需要了解的数据。该数组包含3个键:
  • 十六进制:类中最接近的颜色的十六进制颜色。
  • 名称:颜色的人名。
  • 精确:布尔值, 用于确定颜色代码是否与名称完全相同。
【如何通过PHP中的十六进制代码检索颜色的人名】你要查找的属性是名称键, 该键返回十六进制颜色代码的人名, 在这种情况下为” 深海” 颜色, 但是它几乎适用于你提供的每种十六进制颜色, 以防万一使用你的颜色, 你将收到具有相同3个项目的数组, 但是具有以下值:
  • 十六进制:#000000。
  • 名称:无效颜色:$ yourHexCodeString。
  • 确切:错误
该库与PHP 5.3、5.6和7完全兼容。
编码愉快!

    推荐阅读