L'elemento canvas sta ricevendo un upgrade a partire da Chrome 50: ora supporta il metodo toBlob()
. Questa è un'ottima notizia per chiunque generi immagini lato client e voglia, ad esempio, caricarle sul proprio server o archiviarle in IndexedDB per un uso 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);
}
L'utilizzo di toBlob()
è fantastico, perché invece di manipolare una stringa codificata in base64 ottenuta da toDataURL()
, ora puoi lavorare direttamente con i dati binari codificati. È più piccolo e tende a adattarsi a più casi d'uso rispetto a un URI dati.
Se ti stai chiedendo se puoi disegnare blob di immagini in un altro contesto della tela, la risposta è sì, assolutamente, in Firefox e Chrome. Puoi farlo con l'API createImageBitmap()
, che sarà disponibile anche in Chrome 50.