Hallo Forum,
ich habe eine Bilddatei mit imagecreatefromjpeg in die Datei $image_buffer eingelesen.
Nun möchte ich eine Funktion auf diesen Bildbuffer anwenden, die das Bild in Graustufen umwandelt.
Dazu benutze ich folgende Funktion:
function convert_to_gray($image)
{
for ($i=0;$i<$y;$i++)
{
for ($j=0;$j<$x;$j++)
{
$pos=imagecolorat($image,$j,$i);
$f=imagecolorsforindex($image,$pos);
$gst=$f['red']*0.15+$f['green']*0.5+$f['blue']*0.35;
$col=imagecolorresolve($image,$gst,$gst,$gst);
imagesetpixel($image,$j,$i,$col);
}
}
return $image;
}
Wenn ich nun nach dem einlesen $image_buffer=convert_to_gray($image_buffer) aufrufe, werden die Farben nicht umgewandelt. Schreibe ich die Farbwandel-Routine allerdings direkt dahinter nicht als Funktion, funktioniert es.
Auch das Übergeben des Buffers durch &$image funktioniert nicht.
So, nun haben hoffentlich alle mein Problem erkannt ;-)