在php中可以利用十六进制转十进制函数hexdec(),可以将十六进制的颜色值转成RGB颜色值,其转换过程如下。

php 十六进制颜色值转RGB颜色值的方法

16进制的颜色值是从#000000到#FFFFFF,而RBG颜色颜色值是由三组0到255之间的数字组成。十六进制颜色值转RGB颜色值,只需要将十六进制颜色值 # 号后面的每两个值一组转成对应的十进制即可,可参考下面的php十六进制颜色值转RGB颜色值的函数!

php函数:

/**
 * # 十六进制转十进制折函数
 * @param string $hexColor 十六进制颜色值
 * 
 * @return array 
 */
function hex2rgb($hexColor)
{
    $color = str_replace('#','',$hexColor);
    if (strlen($color)> 3){
        $rgb=array(
            'r'=>hexdec(substr($color,0,2)),
            'g'=>hexdec(substr($color,2,2)),
            'b'=>hexdec(substr($color,4,2))
        );
    }else{
        $rgb=array(
            'r'=>hexdec(substr($color,0,1). substr($color,0,1)),
            'g'=>hexdec(substr($color,1,1). substr($color,1,1)),
            'b'=>hexdec(substr($color,2,1). substr($color,2,1))
        );
    }
    return $rgb;   
}

函数调用:

例1:

print_r(hex2rgb('#fff'));

结果:

Array
(
    [r] => 255
    [g] => 255
    [b] => 255
)

例2

print_r(hex2rgb('#000'));

结果:

Array
(
    [r] => 0
    [g] => 0
    [b] => 0
)