经测试代码如下:
/**
* 把一个颜色变成与之相反的颜色编码
*
* @param
* @arrange (512.笔记) jb51.cc
**/
function color_inverse($color){
$color = str_replace('#','',$color);
if (strlen($color) != 6){ return '000000'; }
$rgb = '';
for ($x=0;$x<3;$x++){
$c = 255 - hexdec(substr($color,(2*$x),2));
$c = ($c < 0) ? 0 : dechex($c);
$rgb .= (strlen($c) < 2) ? '0'.$c : $c;
}
return '#'.$rgb;
}
//使用范例:
// black -> white
print color_inverse('#000000');
// --> returns #ffffff
// blue -> yellow
print color_inverse('#0000FF');
// --> #FFFF00
/*** 来自编程之家 jb51.cc(jb51.cc) ***/