字符串到十六进制的颜色代码


String to hexadecimal Color Code

在我正在制作的项目中,我使用了许多颜色代码。重点不在于他们是否漂亮,而在于他们是否与众不同。(我也希望能够不断有相同的颜色代码为相同的字段刷新(没有随机颜色生成器))我正在考虑采取字段的名称,并把它们变成十六进制的颜色。这有一个预定义的函数吗?

示例:

$string = "Blablabla";
$colorCode = toColorCode($string);
function toColorCode($initial){
    /*MAGIC MADNESS*/
    return array("R"=>XXX,"G"=>XXX,"B"=>XXX);
}

忘记说明:重要的是值只能是数字。

据我所知,您希望为字符串生成一个相当独特的颜色代码。

简单的方法是对字符串调用校验和函数,例如MD5:

function toColorCode($initial){
  $checksum = md5($initial);
  return array(
    "R" => hexdec(substr($checksum, 0, 2)),
    "G" => hexdec(substr($checksum, 2, 2)),
    "B" => hexdec(substr($checksum, 4, 2))
  );
}