Метод 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-
Источник изображения, который может быть одним из следующих:
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 | 1715–17Если исходное изображение — объектImageData, то параметр premultiplyAlpha ничего не делает. См. баг 237082. |
52 | 93 | 41 | 1715–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 |
См. также
© 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