<?
#this file outputs a grey version of specified image
#use of this file:
# in the image tag, <img border=0 src=greyimage.php3?src=imagesrc&col=colno >
# where imagesrc is the source of the original colour version
# where colno is 0 for grey, 1 for red, 2 green, 3 blue
function MakeColoursGrey($im,$col){
$total=ImageColorsTotal($im);
for($i=0;$i<$total;$i++){
$old=ImageColorsForIndex($im,$i);
#trying to keep proper saturation when converting
$commongrey=(int)($old[red]+$old[green]+$old[blue])/3;
if(!$col){
ImageColorSet($im,$i,$commongrey,$commongrey,$commongrey);
}elseif($col==1){
ImageColorSet($im,$i,$commongrey,0,0);
}elseif($col==2){
ImageColorSet($im,$i,0,$commongrey,0);
}elseif($col==3){
ImageColorSet($im,$i,0,0,$commongrey);
}
}
}
$img=imagecreatefromgif($src);
#change the colours to grey
MakeColoursGrey($img,$col);
#send the http header, this outputs an image of type gif
Header("Content-Type: image/gif");
#send the image
ImageGif($img);
?> |