The createImageBitmap
method of the WindowOrWorkerGlobalScope
mixin accepts a variety of different image sources, and returns a Promise
which resolves to an ImageBitmap
. Optionally the source is cropped to the rectangle of pixels originating at (sx, sy) with width sw, and height sh.
Syntax
createImageBitmap(image[, options]).then(function(response) { ... }); createImageBitmap(image, sx, sy, sw, sh[, options]).then(function(response) { ... });
Parameters
image
- An image source, which can be an
<img>
, SVG<image>
,<video>
,<canvas>
,HTMLImageElement
,SVGImageElement
,HTMLVideoElement
,HTMLCanvasElement
,Blob
,ImageData
,ImageBitmap
, orOffscreenCanvas
object. sx
- The x coordinate of the reference point of the rectangle from which the ImageBitmap will be extracted.
sy
- The y coordinate of the reference point of the rectangle from which the ImageBitmap will be extracted.
sw
- The width of the rectangle from which the ImageBitmap will be extracted. This value can be negative.
sh
- The height of the rectangle from which the ImageBitmap will be extracted. This value can be negative.
- options Optional
- An object that sets options for . The available options are:
imageOrientation
: Indicates whether the image is presented as is or flipped vertically. Eithernone
(default) orflipY
.premultiplyAlpha
: Indicates that the bitmaps color channels are premultiplied by the alpha channel. One ofnone
,premultiply
, ordefault
(default).colorSpaceConversion
: Indicates whether the image is decoded using color space conversion. Eithernone
ordefault
(default). The valuedefault
indicates that implementation-specific behavior is used.resizeWidth
: A long integer that indicates the new width.resizeHeight
: A long integer that indicates the new height.resizeQuality
: Specifies an image scaling algorithm. One ofpixelated
,low
(default),medium
, orhigh
.
Return value
A Promise
which resolves to an ImageBitmap
object containing bitmap data from the given rectangle.
Example
var canvas = document.getElementById('myCanvas'), ctx = canvas.getContext('2d'), image = new Image(); image.onload = function() { Promise.all([ createImageBitmap(this, 0, 0, 32, 32), createImageBitmap(this, 32, 0, 32, 32) ]).then(function(sprites) { ctx.drawImage(sprites[0], 0, 0); ctx.drawImage(sprites[1], 32, 32); }); } image.src = 'sprites.png';
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'WindowOrWorkerGlobalScope.createImageBitmap()' in that specification. |
Living Standard | Method moved to the WindowOrWorkerGlobalScope mixin in the latest spec. |
HTML Living Standard The definition of 'createImageBitmap' in that specification. |
Living Standard |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 50 | ? | (Yes) | No support | |
options parameter |
52 | ? | ? | 39 | No support |
SVGImageElement as source image |
59 | ? | ? | ? | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 50 | 50 |
42.0 (42) |
? | (Yes) | ? |
options parameter |
52 | 52 | ? | ? | 39 | ? |
SVGImageElement as source image |
59 | 59 | ? | ? | ? | ? |
[1] createImageBitmap()
now defined on WindowOrWorkerGlobalScope
mixin.
See also
Document Tags and Contributors
Tags:
Contributors to this page:
jpmedley,
Brettz9,
MatthiasSaihttam,
nmve,
chrisdavidmills,
yisibl,
DrRataplan,
zeird,
fscholz,
Kaku,
adria
Last updated by:
jpmedley,