By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,231 Members | 1,605 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,231 IT Pros & Developers. It's quick & easy.

Error in Converting GIF Image to Black & White

P: n/a
I have a doubt in php.I wrote a php program to convert colour Images to

balck & white.It is working fine with JPEG files and PNG files.When it
comes to GIF files I am not getting the colour Image.I think I found
the reason of getting error.But I am not able to solve it
I am pasting the code which I wrote

The reason I think is when I am extracting the RGB value from the
image,R and G will be zero everytime.But I am getting the value of B.
As a Result I am getting a Black Box instead of Black and white Image
$file = 'logo2.gif';
header('Content-type: image/gif');
$imgtype = "gif";
list($width, $height) = getimagesize($file);
$source = imagecreatefromgif($file);
$bwimage= imagecreate($width, $height);
for ($c=0;$c<256;$c++)
{
$palette[$c] = imagecolorallocate($bwimage,$c,$c,$c);

}
function yiq($r,$g,$b)
{
return (($r*0.299)+($g*0.587)+($b*0.114));
}
for ($y=0;$y<$height;$y++)
{
for ($x=0;$x<$width;$x++)
{
$rgb = imagecolorat($source,$x,$y);
$r = ($rgb >16) & 0xFF;//error is here I am getting a value of zero
for $r and $g
$g = ($rgb >8) & 0xFF;//error getting the value zero everytime
$b = $rgb & 0xFF;//Here I am getting value

$gs = yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette[$gs]);

}
}
imagegif($bwimage);

Jul 31 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
<re************@gmail.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
>I have a doubt in php.I wrote a php program to convert colour Images to

balck & white.It is working fine with JPEG files and PNG files.When it
comes to GIF files I am not getting the colour Image.I think I found
the reason of getting error.But I am not able to solve it
I am pasting the code which I wrote

The reason I think is when I am extracting the RGB value from the
image,R and G will be zero everytime.But I am getting the value of B.
As a Result I am getting a Black Box instead of Black and white Image

In the manual at php.net it says:
Note: GIF support was removed from the GD library in Version 1.6, and added
back in Version 2.0.28. This function is not available between these
versions.

Check your GD version to see if it supports gif or not.

(I remember a time when gif was not supported. It's nice to see they've
added it in the package again.)

--
"Ohjelmoija on organismi joka muuttaa kofeiinia koodiksi" - lpk
http://outolempi.net/ahdistus/ - Satunnaisesti päivittyvä nettisarjis
sp**@outolempi.net || Gedoon-S @ IRCnet || rot13(xv***@bhgbyrzcv.arg)
Jul 31 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.