[PHP] ImagePNG/JPG()

Peter

Lt. Commander
Registriert
Mai 2001
Beiträge
1.957
[PHP} ImagePNG/JPG()

Oi,

ist es möglich mit den Funktionen ein neu erstelltes Bild direkt in einen HTML-Kontext einzufügen, ohne es vorher zwischenspeichern zu müssen?
Also anstatt
Code:
<IMG SRC="whatever/temp.png" STYLE"....">
eben etwas in der Art
Code:
<IMG SRC="<? echo ImagePNG( $pImg); ?>">
zu realisieren?
 
Du kannst den Bild-Code zwar nicht direkt in das HTMl-Dokument einbetten, aber als Bild-Quelle ein PHP-Script angeben:
Code:
<img src="http://www.domain.de/bild.php?id=5" />

Die Datei bild.php würde dann z.B. anhand der übergebenen ID das Bild generieren und anstatt es auf die Festplatte zu schreiben, direkt ausgeben, z.B so:
PHP:
[...]
imagepng($img_ressource);
header("Content-Type: image/png");
 
An die Möglichkeit habe ich auch schon gedacht, aber dann kann ich auf der Seite keinen HTML-Code mehr unterbringen :(
Also werde ich wohl um eine tmp-Datei nicht herum kommen ...
 
sicher kannst HTML einbinden!!!

Original erstellt von Steffen
Code:
<img src="http://www.domain.de/bild.php?id=5" />

wo glaubst steht denn der <img>-Tag drin !? :p
 
da haben wir beide wohl aneinander vorbei gedacht :D

Klar ist der <IMG> in einer HTML-Datei, aber der Link zu Bild.php liefert unter Verwendung von
PHP:
[...]imagepng($img_ressource);
header("Content-Type: image/png");
nur ein Bild _ohne_ html-Kontext ;)
 
mir ist nicht ganz klar worauf du hinaus willst :)
 
War gestern Abend vielleicht auch nicht in der Lage mich verständlich zu artikulieren.
Also neuer Anlauf:

Ich habe in meiner Seite folgenden Link:
Code:
<img src="http://www.domain.de/bild.php?id=5" />
Klicke ich nun auf diesen Link liefert dieser mit diesen PHP-Funktionen
PHP:
[...]
header("Content-Type: image/png");
imagepng($img_ressource);
nur ein Bild.
Und somit besteht die neue Seite nur aus einem Bild, siehe Header(), ohne sonstige HTML-Elemente, d.h. das Bild ist nicht in ein <IMG>-Tag eingebunden.
Genau dies kann ich aber nicht brauchen, da ich auf dieser Seite wenigstens ein JavaScript benötige.

Besser so? :)
 
hmh genau das wollte ich klar machen

du machst einen Link zum Dokument, welches das Bild anzeigen soll:
Code:
...
<a href="zeigebild.php?bild=12">Link</a>
...

in der zeigebild.php steht dann dein HTML Code und dort wo das Bild sein soll:
PHP:
...
<img src="http://www.domain.de/bild.php?id=<?php echo $_GET['bild']; ?>" />
...

die bild.php enthält nun:
Code:
...
imagepng($img_ressource);
header("Content-Type: image/png");
...

die bild.php erzeugt also das Bild und liefert es and zeigebild.php, wo dein HTML-Code, JS was immer steht
 
Eben nicht.

Mit der Header-Direktive teilt der Server dem Browser mit, dass der Inhalt der Seite nur ein Bild enthält. Bei einer normalen HTML Seite hat der Header glaube ich folgende Info 'Content-type: html/text', o.ä.

Ich benötige aber die Funktion ImageJPEG bzw. die Funktion ImagePNG. Und dort habe ich nur die Möglichkeilt das Bild entweder in eine Datei auszugeben oder den Datenstrom dirket an den Browser zu weiterzuleiten. Und wenn ich den Strom dirkt an den Browser weiterleite kommt eben nur ein Bild ohne sonstiges HTML, JS, VB beim Browser an.
 
*grml* ;) hast du es denn schon so gemacht wie oben beschrieben !? anscheinend nicht ;)

hier siehst du eine Demo, die nach genau dem oben beschriebenen Schema vorgeht, das Bild wurde von einer php-Datei erzeugt:
http://www.locomania.at/loopo/test/zeigebild.php

im Anhang der ganze Code
 

Anhänge

Ich konnte das leider bisher nicht testen, da ich keinen funktionierenden Indianer habe :mad:
Mit der unwiederlegbaren Demo hast du mir heute den Tag gerettet :) Bin nämlich seit zwei Tagen am Überlegen gewesen, wie ich das machen könnte.
>Danke< dir!
 
Zurück
Oben