hotti: jpg-Bilder aus MySQL [BLOB] in einem canvas darstellen ?

Beitrag lesen

hi,

Wie bekomme ich dem Image-Objekt (hier 'Bild') die Inhalte der Übergabevariable vom php-Skript übergeben, so das es vom canvas als Bild interpretiert wird. Sozusagen das äquvalent zum "Bild.src = bilder_pfad;"?

Du holst das Bild per Ajax entweder als Binary oder Base64. Daraus erzeugst Du einen ArrayBuffer, das ist wiederum eine Binaray, mit welcher ein Browser was anfangen kann. Dazu brauchst du eine Instanz von FileReader und für diesen einen EventListener, z.B.:

  
  var FR = new FileReader();  
  FR.addEventListener('load', StoreInRAM, false);  
  FR.readAsArrayBuffer(file);  

Jetzt hast du den ArrayBuffer, daraus erstellst Du einen Blob und aus dem wird ein URL gemacht:

  
  var bb = new Blob([RAM[oid]['body']]); // RAM[oid]['body'] isa ArrayBuffer  
  var url = URL.createObjectURL(bb);  
  document.getElementById('imgpreview').src = url; // Bild wird gerendert  

Der Blob-URL sieht etwa so aus:
   blob:628440d5-4f11-44b3-a1e5-b20fcebab202
und das ist ein URL, den nur der Browser kennt.

Horst

--
Persönliches Fotoalbum als App demnächst zum Selbstbau.