[Edge]?。→、
Windows または Worker の指定されたソースからビットマップを作成し、ImageBitmap に解決される Promise で返します。
このメソッドは、さまざまな異なる画像ソースを受け付けます。
| Window | Window または Worker オブジェクト。 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| image | 画像ソースで <img>、SVG <image>、<video>、<canvas>、HTMLImageElement、SVGImageElement、HTMLVideoElement、HTMLCanvasElement、Blob、ImageData、ImageBitmap、OffscreenCanvas オブジェクトのいずれかになります。 | ||||||||||||||
| sx | ImageBitmap が抽出される矩形の参照点の x 座標。 | ||||||||||||||
| sy | ImageBitmap が抽出される矩形の参照点の y 座標。 | ||||||||||||||
| sw | ImageBitmap が抽出される矩形の幅。この値は負の値にすることができます。 | ||||||||||||||
| sh | ImageBitmap が抽出される矩形の高さ。この値は負の値にすることができます。 | ||||||||||||||
| options | 省略可。画像の抽出のためのオプションを設定するオブジェクト。利用可能なオプションは以下の通りです。
|
与えられた矩形のビットマップ データを含む ImageBitmap オブジェクトに解決する Promise を返します。
この例では、スプライト シートをロードし、個々のスプライトを抽出し、各スプライトをキャンバスにレンダリングします。
スプライト シートとは、複数の小さな画像を含む画像で、それぞれを個別にレンダリングできるようにしたいものです。
var canvas = document.getElementById('myCanvas'),
ctx = canvas.getContext('2d'),
image = new Image();
// スプライトシートがロードされるのを待ちます
image.onload = function() {
Promise.all([
// スプライトシートから2つのスプライトを切り取ります
createImageBitmap(image, 0, 0, 32, 32),
createImageBitmap(image, 32, 0, 32, 32)
]).then(function(sprites) {
// 各スプライトをキャンバスに描きます
ctx.drawImage(sprites[0], 0, 0);
ctx.drawImage(sprites[1], 32, 32);
});
}
// 画像ファイルからスプライト シートを読み込みます
image.src = 'sprites.png';