本节给出的php代码,实现了二个函数,用于将颜色值转换为16进制数字,或将16进制数字转换为颜色值。
例子:
<?php
/**
* 颜色值与16进制数字的转换
* edit: WWW.jb200.com
*/
function toHex($N) {
if ($N==NULL) return "00";
if ($N==0) return "00";
$N=max(0,$N);
$N=min($N,255);
$N=round($N);
$string = "0123456789ABCDEF";
$val = (($N-$N%16)/16);
$s1 = $string{$val};
$val = ($N%16);
$s2 = $string{$val};
return $s1.$s2;
}
//颜色值转换为16进制数字
function rgb2hex($r,$g,$b){
return toHex($r).toHex($g).toHex($b);
}
//16进制数字转换为颜色值
function hex2rgb($N){
$dou = str_split($N,2);
return array(
"R" => hexdec($dou[0]),
"G" => hexdec($dou[1]),
"B" => hexdec($dou[2])
);
}
echo rgb2hex(106,48,48);
echo '<p> </p>';
print_r(hex2rgb("6A3030"));
?>