php中16进制颜色与rgb颜色相互转换的方法
墨初 编程开发 1142阅读
在html网页中字体或一些元素的背景色都是以16进制或rbg来表示,而php中可以通过一些自定义的函数来将16进制的颜色转为rgb或使用rgb转为十六进制,下面是具体的操作方法。
php颜色转换的方法
方法1:php中16进制颜色转为rgb颜色的方法
/**
* # php 16进制转为rbg的方法
* @param string $hex 16进制
*
* @return array
* @https://www.73so.com
*/
function wpjam_hex2rgb($hex)
{
$hex = str_replace("#", "", $hex);
if(strlen($hex) == 3) {
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
} else {
$r = hexdec(substr($hex,0,2));
$g = hexdec(substr($hex,2,2));
$b = hexdec(substr($hex,4,2));
}
return array($r, $g, $b);
}
var_dump(wpjam_hex2rgb('#fff'));上面就是一个将16进制转为rgb颜色的方法,注意函数输出的是数组,自己可以转换一下。
方法2:rgb转为16进制的方法
/**
* # php rgb转为16进制的方法
* @param string $rgb rgb颜色
*
* @return string
* @https://www.73so.com
*/
function wpjam_rgb2hex($rgb)
{
$hex = "#";
$hex .= str_pad(dechex($rgb[0]), 2, "0", STR_PAD_LEFT);
$hex .= str_pad(dechex($rgb[1]), 2, "0", STR_PAD_LEFT);
$hex .= str_pad(dechex($rgb[2]), 2, "0", STR_PAD_LEFT);
return $hex;
}
//函数调用
var_dump(wpjam_rgb2hex(array(0,82,217)));以上就是php中关于16进制颜色与rgb颜色相互转换的方法,大家可以参考一下。