Problem mit imagecolorset

hubbl

Erfahrenes Mitglied
Hallo,
ich bin gerade dabei ein bisschen mit den Imagefunktionen von PHP rumzuspielen *g.
Ich hab mir jetzt ne 300*300px Grafik erschaffen die zufällig mit bunten oder auch mit nur grauen Pixeln bemalt wird.
Wenn ich mir nun mit imagecolorat() eine Farbe von einer besitmmten Position (z.B 50,50) hole, dann habe ich diesen Index der Zahl (recht hoher integer in den meisten Fällen).
Wenn ich nun versuche mit imagecolorset() diese bestimmte Farbe mit einer anderen zu tauschen, dann klappt das nicht.
Ich habe auch schon versucht andere Scripts (von den leuten von PHP.net), die anscheind einwadfrei sind über mein Bild laufen zu lassen (Alles Schwarz/ Weiss und sowas), aber auch die klappen nicht.
Jetzt habe ich auch versucht das Bild in ein Palettenbild umzuwandeln aber dann nimmt das Bild nur eine Farbe an...
kann mir jemand Erklären wie das genau Funktioniert, oder mache ich das richtig und irgendwas anderes Funktioniert nicht?

Gruß

p.s. um missverständnissen aus dem Weg zu gehen hier einmal der Code mit dem ich das Bild generiere:
PHP:
header("Content-type: image/png");
    $img = ImageCreateTrueColor(300, 300);
    //$bordercolor = imagecolorallocate($img, 255, 0, 0);
    //imagetruecolortopalette($img, false, 255);
    for($i = 0; $i < 300; $i++){
        for($j = 0; $j < 300; $j++){
            $col = imagecolorallocate($img, rand(100,200), rand(100,200), rand(100,200));
            imagesetpixel($img, $i, $j,$col);
        }
    }
    //$index = imagecolorat($img, 50, 50);
    //$valid = imagecolorset($img, $index, 255, 0, 0);
    //make_border(300,300, $img,$bordercolor);
    ImagePNG($img);
    ImageDestroy($img);
 
Das glaub ich eher nicht, denn mit dieser Technik werden noch viel größere Bilder, mit noch vielmehr Farben um daraus z.B Sepia- Bilder zu erstellen..
 
Zurück