El elemento canvas se actualizará a partir de Chrome 50: ahora admite el método toBlob()
. Esta es una gran noticia para cualquier persona que genere imágenes del cliente y quiera, por ejemplo, subirlas a su servidor o almacenarlas en IndexedDB para usarlas en el futuro.
function sendImageToServer (canvas, url) {
function onBlob (blob) {
var request = new XMLHttpRequest();
request.open('POST', url);
request.onload = function (evt) {
// Blob sent to server.
}
request.send(blob);
}
canvas.toBlob(onBlob);
}
Usar toBlob()
es excelente, ya que, en lugar de manipular una cadena codificada en base64 que obtienes de toDataURL()
, ahora puedes trabajar directamente con los datos binarios codificados. Es más pequeño y suele adaptarse a más casos de uso que un URI de datos.
Si te preguntas si puedes dibujar blobs de imagen en otro contexto de lienzo, la respuesta es sí, por supuesto, en Firefox y Chrome. Puedes hacerlo con la API de createImageBitmap()
, que también se lanzará en Chrome 50.