window方法:createImageBitmap()

2018-08-09 11:37 更新

createImageBitmap()方法

該createImageBitmap方法存在于window和worker的全局中。它接受各種不同的圖像源,并返回一個解決ImageBitmap的Promise??梢赃x擇將源裁剪為源自(sx,sy)的像素矩形,其寬度為sw,高度為sh。

createImageBitmap方法語法

createImageBitmap(image[, options]).then(function(response) { ... });
createImageBitmap(image, sx, sy, sw, sh[, options]).then(function(response) { ... });

參數(shù)

image
圖像源,其可以是一個<img>,SVG <image>,<video>,<canvas>,HTMLImageElement,SVGImageElement,HTMLVideoElement,HTMLCanvasElement,  Blob,ImageData,ImageBitmap,或OffscreenCanvas對象。
sx
將從中提取ImageBitmap的矩形參考點的x坐標(biāo)。
sy
將從中提取ImageBitmap的矩形參考點的y坐標(biāo)。
sw
將從中提取ImageBitmap的矩形的寬度。該值可以是負數(shù)。
sh
將從中提取ImageBitmap的矩形的高度。該值可以是負數(shù)。
可選的選項
為其設(shè)置選項的對象??捎眠x項包括:
  • imageOrientation:指示圖像是按原樣呈現(xiàn)還是垂直翻轉(zhuǎn),可以是none(默認),或flipY。
  • premultiplyAlpha:表示位圖顏色通道由alpha通道預(yù)乘,可以是none,premultiply,或者default(默認值)。
  • colorSpaceConversion:指示是否使用色彩空間轉(zhuǎn)換解碼圖像,可以是none,或者default(默認),該值default表示使用特定于實現(xiàn)的行為。
  • resizeWidth:一個表示新寬度的長整數(shù)。
  • resizeHeight:一個表示新高度的長整數(shù)。
  • resizeQuality:指定圖像縮放算法,可以是pixelated,low(默認)medium,或high。

返回值

一個Promise,它解析為包含給定矩形的位圖數(shù)據(jù)的ImageBitmap對象。

createImageBitmap()方法示例

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

image.onload = function() {
  Promise.all([
    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';

規(guī)范

規(guī)范 狀態(tài) 注釋
HTML Living Standard 
該規(guī)范中“createImageBitmap”的定義。
Living Standard
 

瀏覽器兼容性

新的兼容性表格處于測試階段

電腦端 移動端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview Chrome for Android
Edge Mobile Firefox for Android
Opera for Android
iOS Safari
基本支持 支持:50 不支持 支持:42 不支持
支持 不支持
支持:50 支持:50 ? 支持 ?
選項參數(shù) 支持:52 不支持
? 不支持
支持:39 不支持
支持:52 支持:52 ? 支持:39 ?
resizeWidth,resizeHeight和resizeQuality 支持:54 不支持
? 不支持
不支持
支持:54 支持:54 ? ? ?
作為源圖像的SVGImageElement 支持:59 不支持
? 不支持
不支持
支持:59 支持:59 ? ? ?
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號