Funktion mit Bildbuffer-Parameter funktioniert nicht
Frankie
- php
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 ;-)
Huhu Frankie
Schreibe ich die Farbwandel-Routine allerdings direkt dahinter nicht als Funktion, funktioniert es.
Was ein eindeutiges Indiz für fehlende Variablen ist.
Setze Dein Error-Reporting auf E_ALL, dann bekommst Du gesagt welche das sind.
Oder meditiere über die ersten beiden ZeYlen in der verfliXten Funktion.
Viele Grüße
lulu
Hallo,
ich weiß, selber programmieren ist meist schöner,
aber wenn mal hier: http://phpthumb.sourceforge.net/
schaust.
Das ist ein geniales Skript. Da kann man mit Bilder wirklich fast alles machen. Verkleinern, vergrößern, S/W, .....
Und es ist sehr einfach zu bedienen.
Viele grüße
Martin