ImageCreate()
Soße
- php
0 PeterK0 Christian Seiler0 Soße0 Soße
0 PeterK
Halle,
Ich beschäftige mich gerdae mit ImageCreate, aber ich hab kein plan wie das gehen soll ...
<?php
header ("Content-type: image/gif");
$im = @imagecreate (50, 100)
or die ("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 233, 14, 91);
imagestring ($im, 1, 5, 5, "A Simple Text String", $text_color);
imagegif ($im);
?>
wenn ich nun die image.php aufrufe bekomme ich weder einen quelltext noch ein bild, sondern nur ein rotes X (also das zeichen dafür, wenn ein bild nicht verfügbar ist)
wie wo was ? klärt mich auf !
Warscheinlich bringt er einen Fehler, abser weil der Header sagt, das es ein Gif ist, versucht er den HTML-Quelltext als Gif-Byte-Code zu interpretiern - was ja nicht gutgehen kann...
Setz mal den header testweise auf 'text/html' und schau mal was er dann sagt!
PeterK
Hallo Soße,
<?php
header ("Content-type: image/gif");
Hier teilst Du dem Browser mit, dass er ein Bild zu erwarten hat.
$im = @imagecreate (50, 100)
or die ("Cannot Initialize new GD image stream");
Hier gibst Du einen Text aus, falls das Erstellen fehlschlägt. Dieser Text wird aber nach dem Content-Type gesendet. Daher ist der Inhalt kein gültiges Bild.
Merke: Wenn Du etwas anderes als text/html (bzw. XHTML-Abwandlungen) sendest, dann solltest Du den Content-Type-Header erst dann senden, wenn Du Dir sicher bist, das nichts mehr schieflaufen kann:
<?php
// Hier wird erst mal das Bild vorbereitet
// also mit ImageCreate & Co
Header ("Content-type: image/gif");
imagegif ($im);
exit;
?>
Zum eigentlichen Problem: Warscheinlich läuft irgendetwas schief und Du bekommst es nicht mit, weil die Fehlermeldung nicht angezeigt wird. Verändere Deinen Code so wie ich es erklärt habe und poste dann die Fehlermeldung. (wenn Du aus ihr nicht selbst schon sehen kannst, was falsch ist)
Grüße,
Christian
nach deinen anweisungen bekomme ich ein weisses bild mit dem quelltext:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
???
nach deinen anweisungen bekomme ich eine weisse seite mit dem quelltext:
sorry ;-)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
???
Hallo Soße,
nach deinen anweisungen bekomme ich eine weisse seite mit dem quelltext:
Wie sieht denn jetzt Dein PHP-Quelltext genau aus? Hast Du schon mal probiert, den Fehlerunterdrückungsoperator (@) vor dem imagecreate wegzunehmen? Bist Du Dir sicher, dass Du GIF-Unterstützung hast? Hast Du es schon mal mit PNG probiert? (imagepng anstelle von imagegif, content-type: image/png)
Grüße,
Christian
mache ich das @ weg kommt ne php-fehlermeldung und wenn ich png nehme wil er das bild donwloaden oder sagt sowas wie fehlerhaftes bild ...
Hi!
Welche Fehlermeldung???
PeterK
Hi!
Nochwas: Was soll das @-Symbol vor 'imagecreate(5, 100);'
PeterK