codetc - 网站开发技术 首页 代码 PHP 查看内容

PHP中把16进制颜色转换成RGB颜色值

2015-11-11 12:53| 发布者: CODETC| 查看: 3220| 评论: 0

16进制的颜色值通常表示为#FFFFFF,当前也有缩减为#FFF,前提是两位两位必需相同,例如#FEFEFE这种,就不能进行缩减。而RGB的颜色格式是由3组0~255的数字构成,分别代表红(Red)、绿(Green)、蓝(Blue)的色值。


那么,将16进制转换为RGB色值,其实就是分别把#号后面的两位作为一个单位转换成十进制。参考《在线取色器


/** 
* 将16进制颜色转换为RGB
* author www.codetc.com
*/ 
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{
		$r=substr($color,0,1). substr($color,0,1);
		$g=substr($color,1,1). substr($color,1,1);
		$b=substr($color,2,1). substr($color,2,1);
		$rgb=array( 
			'r'=>hexdec($r),
			'g'=>hexdec($g),
			'b'=>hexdec($b)
		);
	}
	return $rgb;
}

文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-265-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部