[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?



  • <?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 🙄


  • Mod

    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!


Anmelden zum Antworten