imagesetpixel ergibt immer einen schwarzen Pixel

Nord-Süd-Richtung

Erfahrenes Mitglied
Hi

ich habe ein Problem mit imagesetpixel. Ich möchte 3 einzelne pixel auf eine Grafik setzen. Allerdings sind die Pixel entweder schwarz, oder werden erst gar nicht gesetzt.

PHP:
$this->width  = $width["match"];//3
$this->height = $height["match"];//1
$this->im    = imagecreatetruecolor($this->width,$this->height);
$red   = $color[0];
$green = $color[1];
$blue  = $color[2];
$alpha = $color[3];
echo $red.".".$green.".".$blue.".".$alpha; //255.0.0.0
$imcol = imagecolorallocatealpha($this->im,$red,$green,$blue,$alpha);
$x = $split[0];
$y = $split[1];
echo "x: ".$x." y: ".$y."<br />";
/*
x: 1 y: 1
x: 2 y: 1
x: 3 y: 1
*/
imagesetpixel($this->im,$x,$y,$imcol);
imagepng($this->im,$file.".".$this->type);

Ich erhalte eine Grafik, die 3pixel lang ist, und 1pixel hoch (wie gewünscht), nur komplett schwarz (anstatt rot)
 
hm... du verwendest imagecolorallocatealpha, also mit dem Transparentwert.
Aber dein Bild hat keinen Hintergund.

Versuch mal zuerst das Bild mit Weiss zu befüllen:
PHP:
$back = imagecolorallocate($image, 255, 255, 255);
imagefill ($this->im, 0, 0, $back);
 
Zurück