Поддержка Canvas toBlob() добавлена ​​в Chrome 50

Начиная с Chrome 50, элемент Canvas получает обновление: теперь он поддерживает метод toBlob() ! Это отличная новость для всех, кто создает изображения на стороне клиента и хочет, скажем, загрузить их на свой сервер или сохранить в IndexedDB для использования в будущем.

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);
}

Использование toBlob() отлично, потому что вместо манипулирования строкой в ​​кодировке Base64, которую вы получаете от toDataURL() , теперь вы можете напрямую работать с закодированными двоичными данными. Он меньше и подходит для большего числа случаев использования, чем URI данных.

Если вам интересно, можно ли рисовать изображения в другом контексте холста, ответ — в Firefox и Chrome — да, абсолютно! Вы можете сделать это с помощью API createImageBitmap() , который также доступен в Chrome 50.