PHP GD Text mit Transparenz/Alpha-hintergrund

okay also ich habe ein problem mit meiner text-formatierte über ein teilweise transparentes Bild. ich möchte den text solide, aber ich will ein Teil der hintergrund des Bildes transparent sein, und der Teil, der text ist über solide zu sein, was ich habe, das problem ist der text erbt, der transparente hintergrund einer der vorhergehenden Schichten. hier ist der code, und ein Beispiel für die Ausgabe, und unter der Ausgabe, was ich es Aussehen. das Bild ist die Verlegung auf einem hellgrauen hintergrund, so dass das Licht Rand um das Bild zwischen dem dunkleren Grau, ist transparent, aber nichts anderes sollte vor allem der text. es scheint nicht den text seiner selbst, aber der hintergrund des text-Blöcke, die transparent ist. die, wie Sie sehen können, ist nicht sehr wünschenswert. bitte helfen Sie, dies ist das einzige problem habe ich Links zu meinem Projekt. 🙂

nicht post Bilder noch, so heres ein link zu dem Bild des Beispiel-Ausgang und das gewünschte Ergebnis (orig):

PHP GD Text mit Transparenz/Alpha-hintergrund

<?php

$img = imagecreatetruecolor(200, 50);

$imageX = imagesx($img);
$imageY = imagesy($img);

imagealphablending($img, false);
imagesavealpha($img, true);

$transparent = imagecolorallocatealpha($img, 255,255,255, 127);
$white = imagecolorallocate($img, 255,255,255);
$grey = imagecolorallocate($img, 127,127,127);
imagefilledrectangle($img, 0, 0, $imageX, $imageY, $grey);
imagefilledrectangle($img, 2, 2, $imageX-4, $imageY-4, $transparent);

$font = "./arialbd.ttf";
$fontSize = 12;
$text = "THIS IS A TEST";

$textDim = imagettfbbox($fontSize, 0, $font, $text);
$textX = $textDim[2] - $textDim[0];
$textY = $textDim[7] - $textDim[1];

$text_posX = ($imageX / 2) - ($textX / 2);
$text_posY = ($imageY / 2) - ($textY / 2);

imagefilledrectangle($img, 10, 10, $imageX-10, $imageY-10, $grey);
imagettftext($img, $fontSize, 0, $text_posX, $text_posY, $white, $font, $text);

header("Content-Type: image/png");
imagepng($img);

?>
InformationsquelleAutor user258640 | 2010-01-25
Schreibe einen Kommentar