imagecreatetruecolor + imagettftext

Army Man

Mitglied
Probleme mit imagettftext bei imagecreatetruecolor

Hi,

ich arbeite zur Zeit an einem kleinen Grafik-Script in PHP.
Da dies nicht mein erster Umgang mit den Grafik-Funktionen von PHP ist, dachte ich eigentlich, dass es keine Probleme geben würde....

In meinen Script, erstelle ich also zunächst via "imagecreatetruecolor" ein leeres Bild und füge neben einigen Grafik-Elementen (wie Linien und Rechtecken) dann mit der "imagettftext"-Funktion ein Text ein.
Mein Problem dabei: dieser Text ist nicht sichtbar (egal welche Farbe ich auch einstelle)
Wechsel ich aber von "imagecreatetruecolor" zu "imagecreate" (und ändere darüber hinaus nichts am Script) funktioniert alles bestens, die Schrift wird in der Größe, Farbe und Schriftart ausgegeben, wie ich es mir vorgestellt hatte.

Das Problem hatte ich auch früher schon, konnte aber bisher mehr oder weniger gut ausweichen, aber diesmal brauche ich eure Hilfe bei der Sache, da ich wirklich schon alles probiert habe was mir so einfiel.
Es bei "imagecreate" zu belassen ist aber keine Option, da in meinem Grafik-Script ein Farbverlauf eingebaut ist, welcher (zwingend) die Truecolor-Farbpalette benötigt.

Ich hoffe, das ihr Rat wißt :)

Gruß Army Man
 
Zuletzt bearbeitet:
Um mein Problem zu verdeutlichen, habe ich folgenden PHP-Code zusammengestellt:

PHP:
<?php
$size_x = '500';
$size_y = '200';
$im = imagecreate($size_x, $size_y);
$schwarz = imagecolorallocate($im, 0, 0, 0);
$weiß = imagecolorallocate($im, 255, 255, 255);
$font = "courbdf";
$fontsize = $size_x / 15;
$schrift_text = 'Test - 1,2,3';
 
imagefill ($im, 0, 0, $schwarz);
imagettftext($im, $fontsize, 0, 100, 100, $weiß, $font, $schrift_text);
 
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>


Dieser Code-Schnipsel funktioniert tadellos, wie ich es bereits in meinem ersten Beitrag geschrieben hatte.
Ändere ich hier also "imagecreate" zu "imagecreatetruecolor" verschwindet die Schrift.

Tausche ich allerdings die Farben in dem Script so, dass der Hintergrund weiß und die Schrift schwarz sein müßte, erscheint der Text nun in einem hellen gelb.

PHP:
<?php
$size_x = '500';
$size_y = '200';
$im = imagecreatetruecolor($size_x, $size_y);
$schwarz = imagecolorallocate($im, 0, 0, 0);
$weiß = imagecolorallocate($im, 255, 255, 255);
$font = "courbdf";
$fontsize = $size_x / 15;
$schrift_text = 'Test - 1,2,3';
 
imagefill ($im, 0, 0, $weiß);
imagettftext($im, $fontsize, 0, 100, 100, $schwarz, $font, $schrift_text);
 
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>

Vielleicht könnt ihr jetzt mit meinem Problem etwas anfangen.
Wäre für jede Hilfe dankbar.

Gruß Army Man
 
Zurück