php - 将十六进制颜色分类为红色、绿色、蓝色、黄色、橙色、

标签 php colors hex

有没有办法轻松地将给定的十六进制颜色代码分配给更一般的类别(红色、绿色、蓝色、黄色、橙色、粉色、黑色、白色、灰色……)?

比如 #ffcc55 -> 橙色,#f0f0f0 -> 白色,...

编辑:甚至类似于 adobe photoshop 找到最近的网络安全颜色,因此它将颜色数量减少到 256,这已经是一个很好的解决方案了!

最佳答案

这是来自 http://php.net/manual/en/function.dechex.php , 来自 lavacube dot com 的 cory 的评论:

<?php

function color_mkwebsafe ( $in )
{
    // put values into an easy-to-use array
    $vals['r'] = hexdec( substr($in, 0, 2) );
    $vals['g'] = hexdec( substr($in, 2, 2) );
    $vals['b'] = hexdec( substr($in, 4, 2) );

    // loop through
    foreach( $vals as $val )
    {
        // convert value
        $val = ( round($val/51) * 51 );
        // convert to HEX
        $out .= str_pad(dechex($val), 2, '0', STR_PAD_LEFT);
    }

    return $out;
}

?>

例子:color_mkwebsafe('0e5c94'); 产生:006699

关于php - 将十六进制颜色分类为红色、绿色、蓝色、黄色、橙色、,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486621/

相关文章:

javascript - $.ajax() 不工作 [jquery]

php - 如何在php中压缩html输出?

objective-c - iOS 颜色数组检索错误

mysql - SQL 在不同的字节中拆分 hexastring

c++ - 数字 vector 到十六进制格式的字符串

javascript - 如何使用循环 PHP 显示从表 Mysql 到 Textarea 字段的多个值

php - 1 个 PHP 文件可以连接到 2 个数据库吗?

excel - Apache POI 和颜色

Python Gtk3 从 Gdk.RGBA 或 Gdk.Color 设置或更改 GdkPixbuf.Pixbuf 的颜色

python - 使用二进制补码在 DEC(基数 10)和 HEX(基数 16)之间转换