質問: phpのgdで画像の特定色だけを他の色に塗りつぶし 一応環境です centos5.5 apache 2.2.3 php 5.3.3 phpのgdで画像の特定色だけを他の色に塗りつぶすことはできるでしょうか? 例えば、白(r:255 g:255 b:255)の部分だけをすべて他の色に変更する。といったことがしたいのですが、gdでは難しいでしょうか?
回答: 自己解決しました。 下記のソースで1ピクセルずつ確認して塗りつぶしできました。 (画像の白をちょっとだけグレイにする) $whitegray=imagecolorallocate($img_new, 254, 254, 254); for ($x=0;$x<$newwidth;$x++){ for ($y=0;$y<$newheight;$y++){ $rgb=imagecolorat($img_new,$x,$y); $r = ($rgb>>16)& 0xff; $g = ($rgb>>8)& 0xff; $b = $rgb & 0xff; //var_dump($r,$g,$b); if(($r==255)&($g==255)&($b==255)){ imagesetpixel($img_new,$x,$y,$whitegray); } } } --------------------------------------------