ImageGIF() komisches Problem

  • Themenstarter Themenstarter fercules
  • Beginndatum Beginndatum
F

fercules

Hallo,

ich habe ein merkwürdiges Problem. Und zwar habe ich für einen Generator ein Script erstellt.

<?php
$dst_w = 400;
$dst_h = 150;
$text = "PHP-Homepage";

$dst_im = ImageCreate($dst_w, $dst_h);
$src_im = ImageCreateFromJPEG("alt.jpg"); # enthält die Hintergrundebene

$schwarz = ImageColorAllocate($dst_im, 0, 0, 0);

ImageCopy($dst_im, $src_im, 0, 0, 0, 0, $dst_w, $dst_h);

ImageTTFText($dst_im, 12, 0, 4,11, $schwarz, "arialf", $text); # arialf liegt im selben pfad

ImageJPEG($dst_im, "neu.jpg");
ImageDestroy($dst_im);
ImageDestroy($src_im);
?>

<img src="neu.jpg" border="0">

So weit funktioniert das prächtig. Jetzt habe ich festgestellt, dass ich jedoch Hintergrundtransparenz benötige, weswegen ich zwangszweise GIFs generieren muss. Wenn ich das ganze jetzt jedoch abändere:

<?php
$dst_w = 400;
$dst_h = 150;
$text = "PHP-Homepage";

$dst_im = ImageCreate($dst_w, $dst_h);
$src_im = ImageCreateFromGIF("alt.gif"); # enthält die Hintergrundebene

$schwarz = ImageColorAllocate($dst_im, 0, 0, 0);

ImageCopy($dst_im, $src_im, 0, 0, 0, 0, $dst_w, $dst_h);

ImageTTFText($dst_im, 12, 0, 4,11, $schwarz, "arialf", $text); # arialf liegt im selben pfad

ImageGIF($dst_im, "neu.gif");
ImageDestroy($dst_im);
ImageDestroy($src_im);
?>

funktioniert es nicht, der fehler:

Fatal error: Call to undefined function: imagegif() in /srv/www/htdocs/web4/test.php on line 15

erscheint. Aber wieso? Denn die Funtkion ImageGIF() gibt es doch ganz offensichtlich?

Liebe Grüße
Stephan
 
Aufgrund von Lizenzrechtlichen Gründen ist das GIF Format nicht mehr standartgemäss dabei.
Mach mal [phpf]phpinfo[/phpf] ,dass sollte dir eigentlich Klarheit darüber geben.
Achja wegen Hintegrundtransparenz geht das nicht auch mit PNG ?(bin mir da nicht sicher)
 
Zuletzt bearbeitet:
Mist...

Mist, natürlich - das ist es! Na logisch, das alte Unisys Problem. Geht das denn mit der Transparenz bei .PNG Dateien? Bin mir auch nicht ganz sicher....

MFG
Stephan
 
Probiere es doch aus.
Ist ja nicht der Akt ,denke mal einfach imagePNG(); draus machen ansonten unter [phpf]imagePNG[/phpf] nachlesen :D
 
Ich hab ewig lang mit der Transparenz bei PNGs rumprobiert, es aber einfach nicht hinbekommen.

Wuerde mich sehr interessieren, wenn das klappt!
 
Klar, das PNG-Format unterstützt nicht nur Transparenz, sondern liefert bei Bedarf sogar einen eigenen Alphakanal mit, welcher - vernünftiger Browser vorausgesetzt - auch beim Rendern einer Seite mit einbezogen wird (ermöglicht z.B. halbtransparente Bilder )
 
Klar, das PNG-Format unterstützt nicht nur Transparenz, sondern liefert bei Bedarf sogar einen eigenen Alphakanal mit, welcher - vernünftiger Browser vorausgesetzt - auch beim Rendern einer Seite mit einbezogen wird (ermöglicht z.B. halbtransparente Bilder )

Was verstehst du unter 'vernünftiger' Browser?
Es kommt ja ,im Endeffekt ,darauf an , ob die Mehrheit es erreichen kann (sprich
Internet Explorer ;)) Ist es damit mögliich?
 
Original geschrieben von KristophS
Was verstehst du unter 'vernünftiger' Browser?
Es kommt ja ,im Endeffekt ,darauf an , ob die Mehrheit es erreichen kann (sprich
Internet Explorer ;)) Ist es damit mögliich?
Nein, der IE setzt die Alphamaske von PNG leider nicht korrekt um. Aber der IE fällt aus diesem und einigen anderen Gründen für mich eh nicht in die Kategorie der vernünftigen Browser. ;)
Was natürlich nichts daran ändert, dass man je nach Homepagezielgruppe durchaus darauf Acht geben muss.
 
Zurück