png Bilder mit php erstellen und Diagramm zeichnen

judos

Mitglied
hallo zusammen,

habe gerade begonnen zu probieren, wie man mit php ein bild erstellen kann und dieses dann anzeigen. wollte eigentlich ein diagramm anhand von daten aus der datenbank erstellen, aber es funktioniert nicht mal ein bild zu erstellen das leer ist und dieses dann anzuzeigen, siehe folgender code, welcher von anderem php und html umgeben ist:

PHP:
$im = ImageCreateFromPNG("1.PNG");
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
es kommt dann folgender fehler zum vorschein:
Die Grafik "(server)/diagramm.php" kann nicht angezeigt werden, weil sie Fehler enthält.

kann mir da vielleicht jemand weiter helfen? nach allen anleitungen die ich gefunden habe sollte dies funktionieren...

mfg judos
 
PHP:
$im = ImageCreateFromPNG("1.PNG");
#header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

Den header() einfach mal auskommentieren, dann dürfte er dir die Fehlermeldung anzeigen. Dafür einfach die Datei direkt aufrufen.

Spontan vermute ich, dass er die PNG Datei nicht öffnen kann.
 
also wenn ich den header in den kommentar setze, gibt er nur ganz viele zeichen auf den Bildschirm aus:

PHP:
‰PNG  ??? IHDR????,???bÕr•??íIDATxœíÔA ? (usw.)

aber immerhin wird jetzt der rest schon wieder fehlerfrei angezeigt!
 
Also es liegt an folgenden Problemen (hatte deinen ersten Post nicht richtig gelesen):

Vor Benutzung von [phpf]header[/phpf] darf KEINE Ausgabe an den Browser erfolgen (dazu zählt auch HTML)

Weiterhin kannst du nicht in einem Skript einfach so den Ausgabetyp auf image/png setzen, denn du schickst ja viel mehr als ein Bild.

Du musst viel eher dein Bilderskript auslagern, damit es wirklich funktioniert.
 
aha ok jetzt weiss ich schon eher wie es gehen könnte.

wäre das also möglich wenn ich eine funktion dafür schreibe oder muss ich mit einem include befehl eine andere datei aufrufen, wo nur diese befehle zum erstellen des bildes sind?

mfg judos
 
@judos
ähhhh wie hast du überhaupt dein Script eingebunden (geht aus den Code-Fetzen nicht so wirklich hervor) ?
Davon hängt es erst ab, ob ein Header gesetzt werden muss oder nicht.
 
also das ist eine datei worin etliches anderes auch noch geschieht, und den code den ich gepostet habe, welcher ein bild ausgeben sollte ist wie schon gesagt in mitten des anderes codes, der eben anderes ausgibt...
hoffe ich habe deine frage richtig verstanden?!

mfg judos
 
ah voila, habs soeben zustande gebracht, das bild wird nun in einem externen script erstellt und gespeichert und kann dann einfach mit html ausgegeben werden...

super! vielen Dank für die Antworten und für eure Hilfe!

mfg judos
 
Die sinnvollste Methode wäre ein Skript anzulegen:

bild.php
PHP:
header("Content-type: image/png");
$im = ImageCreateFromPNG("1.PNG");
imagepng($im);
imagedestroy($im);

Und dann in deinem Hauptskript:

PHP:
<img src="./bild.php" />

Wenn es erledigt ist, klick bitte noch auf "Erledigt", danke ;)
 
Hmmm, eigentlich nichts sagend :)

Vom Prinzip her würde es mit Header so gehen:

bild.php
<?php
php-code zum bild erzeugen
?>

<img src="bild.php">

Danach hatte ich gefragt, also wie was eingebunden wird :)
 

Neue Beiträge

Zurück