Frankie: Funktion mit Bildbuffer-Parameter funktioniert nicht

Beitrag lesen

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 ;-)