跳到主要内容

createImageBitmap()

2025年02月10日
柏拉文
越努力,越幸运

一、认识


Window 接口的 createImageBitmap 从给定的来源创建位图,也可以进行裁剪以包含源图像的一部分。它接受各种不同的图像来源,并返回一个会兑现 ImageBitmapPromise

二、语法


createImageBitmap(image)
createImageBitmap(image, options)
createImageBitmap(image, sx, sy, sw, sh)
createImageBitmap(image, sx, sy, sw, sh, options)
  • image: 图像源,可以是以下值之一:

    • Blob

    • ImageData

    • VideoFrame

    • ImageBitmap

    • OffscreenCanvas

    • SVGImageElement

    • HTMLImageElement

    • HTMLVideoElement

    • HTMLCanvasElement

  • sx: 将从中提取 ImageBitmap 的矩形的参考点的 x 坐标。

  • sy: 将从中提取 ImageBitmap 的矩形的参考点的 y 坐标。

  • sw: 将从中提取 ImageBitmap 的矩形的宽度。此值可以为负数。

  • sh: 将从中提取 ImageBitmap 的矩形的高度。此值可以为负数。

  • options: 设置图像提取选项的对象。可用的选项包括:

    • imageOrientation: 指定位图图像的方向。

      • from-image: 如果存在 EXIF 方向元数据,则根据其来指定图像方向(默认)。

      • flipY: 如果存在 EXIF 方向元数据,则根据其来指定图像方向,然后垂直翻转。

      • none: 根据图像的编码来指定图像方向,忽略有关方向的任何元数据(例如,可能添加到图像中的 EXIF 元数据,以指示相机被转向以在人像模式下捕获图像)。

    • premultiplyAlpha: 指定位图的颜色通道是否应与 alpha 通道预乘。以下值之一:none``、premultiplydefault(默认)。

    • colorSpaceConversion: 指定图像是否应使用色彩空间转换进行解码。nonedefault(默认)。default 值表示使用特定于实现的行为。

    • resizeWidth: 指定输出宽度的长整数。

    • resizeHeight: 指定输出高度的长整数。

    • resizeQuality: 指定用于调整输入大小以匹配输出尺寸的算法。以下值之一:pixelatedlow(默认)、mediumhigh

  • 返回值: 一个 Promise,会兑现为一个包含给定矩形的位图数据的 ImageBitmap 对象。