我想将十六进制颜色代码转换为颜色名称,如
<标题>什么→红色h1> 知道这是怎么可能的吗? 标题>在你的DB你可以创建一个2列的表一个颜色名称和十六进制代码和任何时候,然后你可以很容易地得到颜色名称的十六进制值,如果存在的话。你可以从这里得到一个颜色十六进制值的集合。
使用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:这个例子一个简单严格的name =>值,也许可以用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
?>
低尽管如此,由于代码组合太多,并且有名称的自然颜色有点低,因此很难准确地获得颜色名称。但是你可以通过这个代码
得到你输入的代码的确切颜色这与这个问题无关,这是一个帮助目的的例子:
<?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>