转自: http://code.google.com/p/cyy0523xc/source/browse/trunk/php/%E5%9B%BE%E5%83%8F%E4%BA%8C%E5%80%BC%E5%8C%96.php 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 <?php$font_color = array('r' => 180, 'g' => 150, 'b' => 256);$file = 'test/ems/0.jpg';$rgb_stat = array('r'=>array(),'g'=>array(),'b'=>array(), 'a'=>array());//点集颜色统计$im = imagecreatefromjpeg($file);$w = imagesx($im);$h = imagesy($im);//生成黑白图片$im2 = imagecreatetruecolor($w, $h);$black = imagecolorallocate($im2, 0, 0, 0);$white = imagecolorallocate($im2, 255, 255, 255);for ($i=0; $i<$w; $i++){ for ($j=0; $j<$h; $j++) { $rgb = imagecolorsforindex($im, imagecolorat($im, $i, $j)); $rgb_stat['r'][$rgb['red']%8]++; $rgb_stat['g'][$rgb['green']%8]++; $rgb_stat['b'][$rgb['blue']%8]++; $rgb_stat['rgb'][$rgb['red']%8][$rgb['green']%8][$rgb['blue']%8]++; $rgb_stat['rg'][$rgb['red']%8][$rgb['green']%8]++; if ($rgb['red'] < $font_color['r'] && $rgb['green'] < $font_color['g'] && $rgb['blue'] < $font_color['b']) { imagesetpixel($im2, $i, $j, $black); } else { imagesetpixel($im2, $i, $j, $white); } }}//for($x=0; $x<8; $x++)//{// for($y=0; $y<8; $y++)// {// for($z=0; $z<8; $z++)// {// if ($rgb_stat['rgb'][$x][$y][$z]>8)// {// echo "<br />$x\t$y\t$z";// }// }// }//}////var_dump($rgb_stat['rgb']);header('Content-type: image/jpeg');imagejpeg($im2);exit();//生成黑白图片 end