在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 )