Marcel: Nachtrag, die 2. - Finale Lösung rückt näher

Beitrag lesen

Nachtrag, die 2. (Editieren wäre jetzt gut, aber keine Ahnung ob und wie.)

Mein Problem ist dabei allerdings noch, dass ich noch immer eine Datei benötige, um die Bilddaten einzulesen.

Wie gut, dass es output buffering gibt. Des Rätsels finale Lösung rückt also nach einigem Suchen näher.
Hier ein Beispiel für Jene, die ein ähnliches Vorhaben vorhaben:

  
function zeige_farbiges_rechteck()  
{  
  // Imagestream erzeugen  
  $im = imagecreatetruecolor( 400, 300 );  
  
  // Farbe festlegen  
  $col = imagecolorallocate( $im, 255, 255, 0 );  
  
  // Gefülltes Rechteck zeichnen  
  imagefilledrectangle( $im, 20, 20, 200, 200, $col );  
  
  // Ausgabe puffern  
  ob_start();  
  
  // Bild ausgeben (wird gepuffert)  
  imagepng( $im );  
  
  // Ausgabepuffer abfragen  
  $data = ob_get_contents();  
  
  // Ausgabepuffer leeren, Imagestream zerstören  
  ob_end_clean();  
  imagedestroy( $im );  
  
  // String kodieren und gleichmäßig aufteilen  
  $encoded = chunk_split( base64_encode( $data ));  
  
  // Kodierten String zurückgeben.  
  return $encoded;  
}

Der Aufruf erfolgt dann z. B. über:
print '<img src="data:image/png;base64,'.$instanz->zeige_farbiges_rechteck().'" />';

Genau sowas hatte ich gesucht. Wunderbar. Danke Cheatah für den Link. Dieser hatte mich in die richtige Richtung geschubst.

Gruß,
Marcel