OffscreenCanvas bl.createOffscreenCanvas(object object)
基础库 3.58.0 开始支持
创建离屏 canvas 实例
参数
object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
type | string | webgl | 否 | 创建的离屏 canvas 类型 |
width | number | 否 | 画布宽度 | |
height | number | 否 | 画布高度 |
object.type 的合法值
值 | 说明 | 最低版本 |
---|---|---|
webgl | webgl类型上下文 | 3.58.0 |
2d | 2d类型上下文 | 3.58.0 |
返回值
示例代码
<template>
<div></div>
</template>
<script>
export default {
onReady() {
// 创建离屏 2D canvas 实例
const canvas = bl.createOffscreenCanvas({
type: "2d",
width: 300,
height: 150,
});
// 获取 context。注意这里必须要与创建时的 type 一致
const context = canvas.getContext("2d");
// 创建一个图片
const image = canvas.createImage();
// 等待图片加载
image.onload = () => {
// 把图片画到离屏 canvas 上
context.clearRect(0, 0, 300, 150);
context.drawImage(image, 0, 0, 300, 150);
// 获取画完后的数据
const imgData = context.getImageData(0, 0, 300, 150);
};
image.src = "http://miniapp.bilibili.com/small-app-doc/assets/demo.png"; // 要加载的图片 url
}
}
</script>
<style lang="less" scoped></style>