Spec-Zone.ru › Web APIs

OffscreenCanvas: метод convertToBlob()

Базовая версия 2023 *
Новое

С марта 2023 года эта функция работает на последних версиях устройств и браузеров. Эта функция может не работать на старых устройствах или браузерах.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Потоках Web Workers.

Метод OffscreenCanvas.convertToBlob() создаёт объект Blob, представляющий изображение, содержащееся в холсте.

Можно указать требуемый формат файла и качество изображения. Если формат файла не указан или заданный формат не поддерживается, данные будут экспортированы в формате image/png. Браузеры должны поддерживать image/png; многие будут поддерживать дополнительные форматы, включая image/jpeg и image/webp.

Созданное изображение будет иметь разрешение 96 dpi для форматов файлов, которые поддерживают метаданные о разрешении кодирования.

Синтаксис

convertToBlob()
convertToBlob(options)

Параметры

options Необязательно

Объект со следующими свойствами:

type

Строка, указывающая формат изображения. По умолчанию тип image/png; этот формат изображения также будет использован, если указанный тип не поддерживается.

quality

Number между 0 и 1, указывающий качество изображения при создании изображений с использованием форматов файлов, поддерживающих сжатие с потерями (таких как image/jpeg или image/webp). Агент пользователя использует значение по умолчанию, если этот параметр не указан или число находится вне допустимого диапазона.

Возвращаемое значение

А Promise, возвращающий объект Blob, представляющий изображение, содержащееся в холсте.

Исключения

Обещание может быть отклонено со следующими исключениями:

InvalidStateError DOMException

OffscreenCanvas не отделен; другими словами, он по-прежнему связан с DOM, а не с текущим потоком.

SecurityError DOMException

Режим контекста холста 2d, а растровый бит не является чисто исходным; по крайней мере, некоторые его содержимое загружены с сайта, отличного от сайта, с которого загружен сам документ.

IndexSizeError DOMException

В растровом бите холста нет пикселей (горизонтальная или вертикальная размерность равна нулю).

EncodingError DOMException

Файл BLOB не смог быть создан из-за ошибки кодирования.

Примеры

const offscreen = new OffscreenCanvas(256, 256);
const gl = offscreen.getContext("webgl");

// Perform some drawing using the gl context

offscreen.convertToBlob().then((blob) => console.log(blob));
// Blob { size: 334, type: "image/png" }

Спецификации

Спецификация
HTML
# dom-offscreencanvas-converttoblob-dev

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
convertToBlob 69 79 105 56 16.4 69 105 48 16.4 10.0 69
option_type_parameter_webp 69 79 105 56 Нет 69 105 48 Нет 10.0 Нет

См. также

  • Интерфейс, определяющий этот метод, OffscreenCanvas.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/convertToBlob

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API