php颜色值转换 php实现16进制数字与颜色值的转换

发布时间:2019-12-11编辑:脚本学堂
本文分享一例php代码,实现颜色值的转换,将16进制的数字转换为具体的颜色值,将颜色值转换为16进制数字。有需要的朋友参考下吧。

本节给出的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"));
?>