Hallo,
ich möchte einen Text über ein Bild legen, dieser soll leicht transparent sein.
Aber das Bild ansich soll auch transparant sein, hat da jemand von euch eine
Idee?
Hier ist mein momentaner Code:
Grüße Oliver
ich möchte einen Text über ein Bild legen, dieser soll leicht transparent sein.
Aber das Bild ansich soll auch transparant sein, hat da jemand von euch eine
Idee?
Hier ist mein momentaner Code:
PHP:
$txt = "Text";
$font_size = 300;
$pic = "bild.gif"; // ist im Hintergrund transparent
$size = getimagesize($pic);
$d = sqrt(pow($size[0], 2) + pow($size[1], 2));
$angle = 90-rad2deg(atan($size[0] / $size[1]));
$font = "/arialn.ttf";
do{
$font_size--;
$r = imagettfbbox($font_size, $angel, $font, $txt);
if($font_size < 1) die("abbbruch");
$dt = sqrt(pow(($r[2]-$r[6]), 2)+pow(($r[3]-$r[7]), 2)); //Diagonale des Textes
}while($dt > $d);
$font_size *= 0.9; // Die Schriftgröße etwas kleiner machen.
$y = $size[1];
$x = $font_size/2;
$img = imagecreatefromgif($pic);
$image = imagecreatetruecolor($size[0], $size[1]);
$back = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $size[0] - 1, $size[1] - 1, $back);
$blue = imagecolorallocatealpha($image, 48, 40, 254, 100);
imagecopyresized($image, $img, 0,0, 0,0, $size[0],$size[1], $size[0],$size[1]); // Das alte Bild unter das neue legen.
ImageTTFText ($image, $font_size, $angle, $x, $y, $blue, $font, $txt);
Header ("Content-type: image/png");
ImagePng ($image);
ImageDestroy ($image);