Moin!
$image = imagecreate(150,150);
imagecreate() erzeugt ein 256-Farben-Bild. Und damit das mit der Palette hinkommt, erzeugst du mit
$farbe_body=imagecolorallocate($image,255,255,255);
jeweils einen von 256 Paletteneinträgen, in dem dann eine Farbe drinsteht.
Wenn du aber mit
imagejpeg($image,"",100);
eine TrueColor-Grafik ausgeben willst, dann mußt du, wie erwähnt, die gdlib2 verwenden, imagecreatetruecolor() für ein Echtfarbenbild aufrufen, und darfst imagecolorallocate() nicht verwenden, sondern gibst die Farbe, die der Pixel haben soll, direkt als 24-Bit-RGB-Wert in imagesetpixel() direkt an.
Also beispielsweise (mit einem konstanten Wert für weiß):
imagesetpixel($image,$x,$y,0xFFFFFF);
0xFFFFFF ist eine legale Zahldarstellung in PHP, stattdessen kannst du auch die dezimale Darstellung verwenden (sowas wie 0 für Schwarz, oder 255 für Blau), oder diesen Wert einer Variablen zuweisen und diese dann verwenden.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)