canvas | метод toBlob(callback, type, quality)

canvas | метод toBlob(callback, type, quality)

Для веб-разработчиков (не нормативно)

canvas.toBlob(callback [, type [, quality ] ])

Создаёт объект Blob, представляющий файл, содержащий изображение на холсте, и вызывает обратный вызов с дескриптором этого объекта.

Второй аргумент, если он указан, управляет типом возвращаемого изображения (например, PNG или JPEG). По умолчанию это «image/png»; этот тип также используется, если данный тип не поддерживается. Третий аргумент применяется, если тип представляет собой формат изображения, который поддерживает переменное качество (например, «image/jpeg»), и представляет собой число в диапазоне от 0.0 до 1.0 включительно, указывающее желаемый уровень качества для результирующего изображения.

 


Метод toBlob(callback, type, quality) при вызове должен выполнять следующие шаги:

1. Если для флага очистки источника растрового изображения этого элемента холста canvas установлено значение false, генерируется исключение DOMException «SecurityError».
2. Пусть результат result будет null.
3. Если в растровом изображении этого элемента холста canvas есть пиксели (т.е. ни его горизонтальный размер, ни его вертикальный размер не равны нулю), то установите результат result на копию растрового изображения этого элемента холста canvas.
4. Выполните эти шаги параллельно:
  4.1. Если результат result не равен null, то установите результат result на сериализацию результата result в виде файла с типом type и качеством quality, если он задан.
  4.2. Поставьте задачу элемента в очередь в источнике задачи сериализации больших двоичных объектов холста (canvas blob serialization task source) с учетом элемента холста canvas, чтобы выполнить следующие шаги:
    4.2.1. Если результат result не равен null, установите результат result в новый объект Blob, созданный в соответствующей Области этого элемента холста canvas, представляющий результат result. [FILEAPI]
    4.2.2. Вызвать обратный вызов callback с « result ».

 

Информационные ссылки

Стандарт HTML — Раздел «The toBlob(callback, type, quality) method» — https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-toblob