Spec-Zone.ru › Web APIs

Метод Window: createImageBitmap()

Метод createImageBitmap() интерфейса Window создаёт карту битов из заданного источника, при необходимости обрезая её до части этого источника. Он принимает различные источники изображений и возвращает Promise, который разрешается до ImageBitmap.

Синтаксис

createImageBitmap(image)
createImageBitmap(image, options)
createImageBitmap(image, sx, sy, sw, sh)
createImageBitmap(image, sx, sy, sw, sh, options)

Параметры

image

Источник изображения, который может быть одним из следующих:

  • HTMLImageElement
  • SVGImageElement
  • HTMLVideoElement
  • HTMLCanvasElement
  • Blob
  • ImageData
  • ImageBitmap
  • OffscreenCanvas
  • VideoFrame
sx

Координата x точки отсчёта прямоугольника, из которого будет извлечена ImageBitmap.

sy

Координата y точки отсчёта прямоугольника, из которого будет извлечена ImageBitmap.

sw

Ширина прямоугольника, из которого будет извлечена ImageBitmap. Значение может быть отрицательным.

sh

Высота прямоугольника, из которого будет извлечена ImageBitmap. Значение может быть отрицательным.

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

Объект, задающий параметры извлечения изображения. Доступные параметры:

imageOrientation

Указывает, как должна быть ориентирована карта битов изображения.

from-image

Изображение ориентировано согласно данным метаданных EXIF об ориентации, если они присутствуют (по умолчанию).

flipY

Изображение ориентировано согласно данным метаданных EXIF об ориентации, если они присутствуют, а затем перевёрнуто по вертикали.

none

Изображение ориентировано согласно кодированию изображения, игнорируя любые метаданные об ориентации (такие как метаданные EXIF, которые могут быть добавлены к изображению, чтобы указать, что камера была повернута боком для захвата изображения в портретном режиме).

premultiplyAlpha

Указывает, должны ли цветовые каналы карты битов быть предварительно умножены на альфа-канал. Одно из none, premultiply, или default (по умолчанию).

colorSpaceConversion

Указывает, должно ли изображение быть декодировано с преобразованием цветового пространства. Либо none или default (по умолчанию). Значение default указывает, что используется поведение, специфичное для реализации.

resizeWidth

Целое число, указывающее выходную ширину.

resizeHeight

Целое число, указывающее выходную высоту.

resizeQuality

Указывает алгоритм, используемый для изменения размера входного изображения для соответствия выходным размерам. Одно из pixelated, low (по умолчанию), medium, или high.

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

A Promise, который разрешается до объекта ImageBitmap, содержащего данные карты битов из заданного прямоугольника.

Примеры

Создание спрайтов из спрайт-шита

В этом примере загружается спрайт-шит, извлекаются отдельные спрайты, а затем каждый спрайт отрисовывается на холсте. Спрайт-шит — это изображение, содержащее несколько меньших изображений, каждое из которых вы хотите иметь возможность отобразить по отдельности.

const canvas = document.getElementById("myCanvas"),
  ctx = canvas.getContext("2d"),
  image = new Image();

// Wait for the sprite sheet to load
image.onload = () => {
  Promise.all([
    // Cut out two sprites from the sprite sheet
    createImageBitmap(image, 0, 0, 32, 32),
    createImageBitmap(image, 32, 0, 32, 32),
    createImageBitmap(image, 0, 0, 50, 50, { imageOrientation: "flipY" }),
  ]).then((sprites) => {
    // Draw each sprite onto the canvas
    ctx.drawImage(sprites[0], 0, 0);
    ctx.drawImage(sprites[1], 32, 32);
    ctx.drawImage(sprites[2], 64, 64);
  });
};

// Load the sprite sheet from an image file
image.src = "50x50.jpg";

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
createImageBitmap 50 79 42 37 15 50 42 37 15 5.0 50
options_colorSpaceConversion_parameter 58 79 98 45 15 58 98 43 15 7.0 58
options_imageOrientation_parameter 52 79 93 39 15 52 93 41 15 6.0 52
options_premultiplyAlpha_parameter 52 79 93 39 17
15–17Если исходное изображение — объект ImageData, то параметр premultiplyAlpha ничего не делает. См. баг 237082.
52 93 41 17
15–17Если исходное изображение — объект ImageData, то параметр premultiplyAlpha ничего не делает. См. баг 237082.
6.0 52
options_resizeHeight_parameter 54 79 98 41 15 54 98 41 15 6.0 54
options_resizeQuality_parameter 54 79 Нет 41 15 54 Нет 41 15 6.0 54
options_resizeWidth_parameter 54 79 98 41 15 54 98 41 15 6.0 54
svgimageelement_as_source_image 59 79 65 46 17.2 59 65 43 17.2 7.0 59

См. также

  • WorkerGlobalScope.createImageBitmap()
  • CanvasRenderingContext2D.drawImage()
  • ImageData

© 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/Window/createImageBitmap

Spec-Zone.ru

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