こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

phpのGDで画像の特定色だけを他の色に塗りつぶし

一応環境です
centos5.5
apache 2.2.3
php 5.3.3


phpのGDで画像の特定色だけを他の色に塗りつぶすことはできるでしょうか?

例えば、白(R:255 G:255 B:255)の部分だけをすべて他の色に変更する。といったことがしたいのですが、GDでは難しいでしょうか?

投稿日時 - 2011-09-01 14:26:09

QNo.6982143

困ってます

質問者が選んだベストアンサー

自己解決しました。

下記のソースで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);
}
}
}
--------------------------------------------

投稿日時 - 2011-09-01 16:11:33

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問