[PHP] Auf ne phpseite verlinken und als result ein img bekommen
-
Hi, ok, thema sagt schon alles.
Wie kann ich, wenn ich eine phpseite mit <img="test.php"> aufrufe ein result eines Bildes bekommen, also das man das bild sieht?Läuft das über header oder wie geht das?
-
header("Content-Type: image/png"); // Hier kommt ein Bild (kein HTML) // folgender Kode erzwingt bei meisten Browsern ständiges Nachladen: header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past header ("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");// always modified header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0<html> imagePNG($bild); // Bild in den Stream schreiben
wichtig ist erstmal das obertste..
arbeitest du grad mit der gd bib?
-
coool, aber das gild doch nur für pngs oder?
-
nö
<?php /* images am beispiel jpeg: ein imgage wird erschaffen nach koordinaten x und y als pixel. ein kreis ist also nur bedingt möglich. zunächst wird eine virtuelle grafik im speicher des severs mittels der funktion imagecreate oder imagevreatefromjpeg erzeugt. dann erfolgen die grafischen ausgaben in diese rechtwinklige zeichenfläche (unten von der größe 200 * 200) durch funktione nwie das setzen eines bixels, das zeichnen einer linie oder eines kreises. auch grafische textausgaben sind in eingabaute fonts oder trutypschriften verfügbar. ist die grafik im speicher des servers fertig, gibt es zwei möglichkeiten der weiterverarbeitung: 1.die grafik kann mit imagejpeg an den browser ausgegeben werden. 2. die grafik kann in eine datei geschrieben werden. die ausgabe an den browser muß durch die funktion header () geschehen, also vorher kein html ausgegeben (im aktuellen frame) werden. sonst wird die grafik in asciizeichen gesendet und ausgegeben. */ //vorher kein htlm!!!!!! header( "Content-type: image/jpeg"); /* virtuelles rechteck als panel für die grafik schaffen und im speicher ablegen */ $image = imagecreate(200,200); /* lege farbe fest: color R=100, G=0, R=0 */ $maroon = imagecolorallocate($image,100,0,0); /* lege farbe fest: color R=255, G=255, R=255 */ $white = imagecolorallocate($image,255,255,255); /* lege farbe fest: color green */ $green = imagecolorallocate($image,0,100,0); /* erzeuge ein ausgefülltes rechteck*/ imagefilledrectangle($image,0,0,200,200,$white); /* zeichne ein rechteck , in diesem fall als rahmen um das folgende rechteck*/ imagerectangle($image,10,10,190,190,$maroon); /* zeichne ein rechteck , in diesem fall als inneres rechteck*/ imagefilledrectangle($image,50,70,150,150,$maroon); /* arbeite mit fünf schriften in unterschiedlichen größen */ for ($i=1; $i <= 5; $i++) imagestring($image,$i,15,$i*10,'antje',$green); /*neu in php4: erzeugt aus einem viruellen bild einen stream an den browser oder in eine datei*/ imagejpeg($image); /*gibt den virtuellen speicher wieder frei */ imagedestroy($image); ?>
-
dann mach halt image/gif oder image/jpeg
-
bei anderen Formaten muss du lediglich den Content-Type ändern und natürlich das andere Bild ausgeben (einfach mit echo ausgeben)
-
Ja, genau das meinte ich, danke an euch alle und vorallem danke an elise!