在php中将十六进制代码转换为颜色名称

时间:2014-08-02 10:58:36

标签: php

我想将十六进制颜色代码转换为颜色名称,如

FF0000 - >红色

如果你知道它怎么可能?

3 个答案:

答案 0 :(得分:1)

使用HTML和JavaScript,请参阅代码:

<html>
<head>
<script type="text/javascript" src="http://chir.ag/projects/ntc/ntc.js"></script>
<script>
var result = {
    r : function(hex)
    {
        var color = ntc.name(hex);
        document.getElementsByName("namecolor")[0].value = color[1];
    }
}
</script>
</head>
<body>
HEX CODE <input type="text" name="colorhex" value="ff0000" onKeyup="result.r(this.value)"><br>
COLOR NAME <input type="text" name="namecolor">
</body>
</html>

Javascript代码项目的来源(以及受到启发的PHP):http://chir.ag/projects/name-that-color/

使用PHP:这个例子是一个简单的严格名称=&gt;值,也许可以使用相同的javascript代码方法(如delta)完成。

<?php
$hexcolor = array(
    '000000' => 'Black',
    '000080' => 'Navy Blue',
    '0000C8' => 'Dark Blue',
    '0000FF' => 'Blue'); // Must be completed !

echo $hexcolor('000080'); // Return the strict color name
?>

答案 1 :(得分:1)

数据库中的

您可以创建一个包含2列的表,用于颜色名称和十六进制代码,然后只要存在,就可以轻松地通过其十六进制值获取颜色名称。 您可以获取颜色十六进制值的集合,其名称来自here

在PHP中没有预定义的功能,并且在没有数据库的情况下无法逻辑生成颜色名称。

答案 2 :(得分:0)

如何准确地获取颜色名称代码是因为代码组合太多而且自然颜色有点低而且有名称。但是您可以获得此代码输入的代码的确切颜色

这与此问题无关,这是帮助目的的一个例子:

<?php
$color = "00000";
if(isset($_REQUEST['color']))
{
    $color = trim($_REQUEST['color']);
}
?>
<form method="post" action="">
    <table>
    <tr>
        <td>Color Code : </td>
        <td><input type="text" name="color" maxlength="6" value="<?php echo $color;?>"/></td>
        <td><input type="submit" name="submit" value="go"/></td>
    </tr>
    </table>
</form>
<div style="background-color:<?php echo $color;?>; width:100px; height:50px;"></div>