Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP erstelltes Bild mitten im Content ausgeben ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP erstelltes Bild mitten im Content ausgeben ?

    Hallo Leute,

    ich hab mit Hilfe von PHP.net eine kleine Klasse geschrieben die ein Textbild erzeugen soll.
    Das funktioniert soweit auch, wenn man sonst keinen Code in der Seite hat, jedoch möchte ich solche Bilder als Überschriften verwenden und somit müsste ich sie mitten im Content ausgeben.

    Mein derzeitiges Script sieht wie folgt aus:
    PHP-Code:
    <?php

    class Message_Image {

     function 
    Message_Image($message,$fontfile,$fontsize,$fontcolor){
      
    $this->message $message;
      
    $this->fontfile $fontfile;
      
    $this->fontsize $fontsize;
      
    $hex_red substr($fontcolor12);
      
    $hex_green substr($fontcolor32);
      
    $hex_blue substr($fontcolor52);
      
    $this->red hexdec($hex_red);
      $
    $this->green hexdec($hex_green);
      
    $this->blue hexdec($hex_blue);
     }

     function 
    output(){
      
    $sizes imagettfbbox($this->fontsize,0,$this->fontfile,$this->message);
      
    $width $sizes[0]+$sizes[2];
      
    $im imagecreate($width,$this->fontsize);
      
    $bg imagecolorallocate($im238238238);
      
    $transp imagecolortransparent($im,$bg);
      
    $white imagecolorallocate($im$this->red$this->green$this->blue);
      
    imagettftext($im$this->fontsize00$this->fontsize$white$this->fontfile$this->message);
      
    header("Content-type: image/png");
      
    imagepng($im);
      
    imagedestroy($im);
     }
    }

    ?>
    Das es nicht irgendwo ausgegeben werden kann liegt ja an dem header("Content-type: image/png"); wenn ich nicht falsch liege.
    Kann man so ein Bild irgendwie in einer Variable speichern um es dann auszugeben ?

    Danke im voraus,

    Lg
    spitzi

  • #2
    Wird nicht gehen du must das Bild in einer xtra Datei erstellen und diese mittels [img]DATEINAME.php[/img] ausgeben.
    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

    Kommentar


    • #3
      das macht dann auch die klasse ziemlich unnötig... außerdem sollte man bilder lieber nicht als überschriften benutzen, von wegen barrierefreiheit und so. lieber <h1>, <h2> etc.
      Der beste Platz für Politiker ist das Wahlplakat. Dort ist er tragbar, geräuschlos und leicht zu entfernen.*– Loriot

      Kommentar


      • #4
        ich möchte ja auch z.B ab und zu Text in 04b_3b ausgeben der sich immer ändert drum möcht ichs erzeugen lassen, nur in eine extra Datei is ja auch irgendwie komisch, dann lass ich das in eine Datei schreiben und wenn der auf ne andere seite geht wo das bild nicht mehr benötigt wird soll ers wieder löschen ?

        Kommentar


        • #5
          Wenn du den Parameter für den Dateinamen nicht angibst, wird das Bild nicht auf dem Server gespeichert sondern lediglich als Ausgabe an den Client gesendet.

          Kommentar


          • #6
            Warum in eine Datei schreiben? Dynamische Bilderzeugung reicht doch ... und das PHP Script welches das Bild mit Header usw. erzeugt must du als SRC im IMG Tag angeben ... anders gehts nicht ... weil du must den Browser irgendwie sagen das jetzt Image-Binär-Code kommt und das geht nur als Header für die gesamte Datei.

            Alternativ könnte man das Bild auch als Datei speichern aber das halte ich persönlich für eine temporäre Nutzung für überflüssig weil du das Bild auch wieder löschen musst.
            Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

            Kommentar


            • #7
              Vielen Dank HStev,
              hätt ich eigentlich auch selber draufkommen müssen
              bin ich aber nicht, also nochmal danke

              Gruß
              spitzi

              Kommentar

              Lädt...
              X