• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Ein Bild mit PHP erstellen

V.I.P

New member
Hi@all,

ist es möglich ein Bild mit transparentem Hintergrund zu erstellen, wenn ja wie mach ich es dann ( transparent ) ?


Gruss Alex
 
Also, das ganze geht mit der GD-Library und hier ist der Code:

<?
$font = "./Arial.ttf";
$font_size = 18;
$font_angle = 0;
$width = 300;
$height = 400;
$text = "test";

$im = ImageCreateFromJpeg("./test.jpg");

$im_str = ImageCreate($width,$height);
$black = ImageColorAllocate($im_str, 0, 0, 0);
$white = ImageColorAllocate($im_str, 255, 255, 255);
ImageColorTransparent($im_str, $black);
ImageTTFText($im_str, $font_size, $font_angle, 0, 15, $white, $font, $text);
ImageCopyResized($im,$im_str,0,0,0,0,$width,$height,$width,$height);

ImageInterlace($im, 1);
header("Content-type: image/jpeg");
ImageJpeg($im);

ImageDestroy($im_str);
ImageDestroy($im);
?>


Dabei wird eine ganz bestimmte Farbe im Bild transparent gemacht. Das geht aber nur wenn du eine GD-Library hast die noch die ImageGIF-Funktion unterstützt :(

Hab ich mir übrigens von php.net geholt - da nachschauen bringt was
 
Danke Crying Man,

ich geb zu, ich hab nicht so gründlich dannach gesucht. Ich wollte einfacher haben und von jemandem es bekommen. Kommt nicht wieder vor.

zu deinem Script:
so wie es ist, hat es bei mir nicht funktioniert. Ich habe einfach meinen angepasst:
------------------------------------------------------------------------------
<?php

Header ("Content-type: image/png");

$im = imagecreate (150, 15);
$white = ImageColorAllocate ($im, 250, 250, 250);
$blau = ImageColorAllocate ($im, 233, 233, 233);

ImageColorTransparent($im, $blau);
imageFill($im, 0, 0, $blau);
ImageTTFText ($im, 12, 0, 5, 11, $white, "arial.ttf",
"Deine IP: $REMOTE_ADDR");

ImageInterlace($im, 1);
ImagePng ($im);
ImageDestroy($im);

?>
---------------------------------------------------------------------------------

Gruss Alex
 
Zurück
Oben