Konvertierung von bytes, um ein Bild für die Zeichnung auf einem HTML5-canvas

Weiss jemand, wie ich den konvertieren bytes, die gesendet werden über eine websocket (aus einer C# - app) ein Bild? Dann möchte ich zum zeichnen des Bildes auf einer Leinwand. Ich sehe zwei Möglichkeiten, dies zu tun:

  • Irgendwie zeichnen das Bild auf der Leinwand in byte-form, ohne Sie zu konvertieren
    es.
  • Umwandeln der bytes zu base64-string irgendwie im javascript dann
    ziehen.

Hier ist meine Funktion, die empfängt die bytes, die für die Zeichnung:

function draw(imgData) {

    var img=new Image();
    img.onload = function() {
        cxt.drawImage(img, 0, 0, canvas.width, canvas.height);
    };

//What I was using before...
img.src = "data:image/jpeg;base64,"+imgData;

}

Ich erhielt das Bild schon umgewandelt als base64-string vor, aber nach dem lernen, dass das senden der bytes ist in der Größe kleiner (30% kleiner?) Ich würde es vorziehen, diese zu erhalten zu arbeiten. Ich sollte auch erwähnen, dass das Bild ist ein jpeg.

Jemand weiß, wie ich es tun würde? Vielen Dank für die Hilfe. 🙂

  • Nicht diese Einstellung als eine Antwort, denn es ist nur eine Vermutung, aber könnten Sie lassen Sie die ;base64 ab und escape(imgData)?
  • Hat nicht funktioniert, aber danke. 🙂
InformationsquelleAutor Joey Morani | 2012-08-20
Schreibe einen Kommentar