Hi I think you have to use fread to load the binary file, here is a quick function that will do what you want. It a little bit safer than just blindly changing hex values in the file, it only checks the colour table. Tom
<?php function change($file,$r,$g,$b,$r2,$g2,$b2){ $found = 0; if($fd = fopen($file, "r")): $f = fread($fd, filesize ($file)); fclose ($fd); $gif = unpack("C*",$f); $flag = $gif[11]; //flag position if($flag & 128): //we have a global table $colours = pow(2,($flag & 7)+1); //number of entries in table $x = 14; //start of global table $y = $x + (3 * $colours); //3 bytes per colour while($x < $y): if(($gif[$x] == $r)&&($gif[$x+1] == $g) && ($gif[$x+2] == $b)): echo "found colour at offset $x <br>"; $gif[$x] = $r2; $gif[$x+1] = $g2; $gif[$x+2] = $b2; $found = 1; endif; $x +=3; endwhile; endif; endif; if($found == 1): while(list($key,$val)=each($gif)): $newgif .= pack("C",$val); endwhile; $fd = fopen("test.gif", "w"); fwrite($fd,$newgif); fclose($fd); endif; } $filename = "vcd_1.gif"; change($filename,0xff,0x33,0x66,0x33,0x45,0xff); ?> <img src="vcd_1.gif" width="259" height="32" alt="" border="0"><br> <img src="test.gif" width="259" height="32" alt="" border="0"> At 05:06 PM 5/06/2002, johannes reichardt wrote: >hi everybody, i am new to this list & php >and i have a big question that i would love to be answered ;) > >i have a small gif file that has a part in #ff3366 colored - so what i >thought >is to do a mean hack for my website: instead of opening all images in a >graphicseditor and change the >color manually i could look up for that color (ff3366) in the image files >and replace it with something else, unfortunatly >i got stuck with this approach pretty soon. here is my problem: > >if i open the gif file in php (its attached to this mail) and convert it to >hex: > >$filetext1 = implode("",(@file("vcd_1.gif"))); >$filetext1 = bin2hex($filetext1); > } > >like this i get a string that looks like hex - but i cant find my ff3366 >anymore, >did i miss something really obvious? > >if i look up the gif file with an hexeditor (i use textpad) i can see it - >with php >its not findable > >any ideas? > > > >-- >PHP General Mailing List (http://www.php.net/) >To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php