/**     * RGB转 十六进制    

* @param $rgb RGB颜色的字符串 如:rgb(255,255,255);    

* @return string 十六进制颜色值 如:#FFFFFF     */

function RGBToHex($rgb){        $regexp = "/^rgb\(([0-9]{0,3})\,\s*([0-9]{0,3})\,\s*([0-9]{0,3})\)/";

$re = preg_match($regexp, $rgb, $match);

$re = array_shift($match);

$hexColor = "#";

$hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');

for ($i = 0; $i < 3; $i++) {

$r = null;

$c = $match[$i];

$hexAr = array();

while ($c > 16) {

$r = $c % 16;

$c = ($c / 16) >> 0;                array_push($hexAr, $hex[$r]);            }            array_push($hexAr, $hex[$c]);

            $ret = array_reverse($hexAr);

$item = implode('', $ret);

$item = str_pad($item, 2, '0', STR_PAD_LEFT);

$hexColor .= $item;        }

return $hexColor;    }

/**     * 十六进制 转 RGB     */

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 {

$color = $hexColor;

$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;    }