1e41f4b71Sopenharmony_ci# OffscreenCanvas对象
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci>  **说明:**
4e41f4b71Sopenharmony_ci>  从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci可以离屏渲染的canvas对象。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 属性
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci| 属性     | 类型     | 描述                          |
13e41f4b71Sopenharmony_ci| ------ | ------ | --------------------------- |
14e41f4b71Sopenharmony_ci| width  | number | offscreen canvas对象的宽度。 |
15e41f4b71Sopenharmony_ci| height | number | offscreen canvas对象的高度。 |
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci## 方法
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci### getContext
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_cigetContext(type: string, options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci获取offscreen canvas绘图上下文,返回值为2D绘制对象。
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**参数:** 
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci| 参数名       | 参数类型                                     | 必填   | 描述                     |
30e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | ---------------------- |
31e41f4b71Sopenharmony_ci| contextId | string                                   | 是    | 仅支持 '2d'。         |
32e41f4b71Sopenharmony_ci| options   | [CanvasRenderingContext2DSettings](#canvasrenderingcontext2dsettings) | 否    | 当前仅支持配置是否开启抗锯齿功能,默认为关闭。 |
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**返回值:**  
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci| 类型                                       | 说明                          |
37e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------------- |
38e41f4b71Sopenharmony_ci| [OffscreenCanvasRenderingContext2D](js-offscreencanvasrenderingcontext2d.md) | 2D绘制对象,用于在画布组件上绘制矩形、文本、图片等。 |
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci### CanvasRenderingContext2DSettings
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ciCanvasRenderingContext2DSettings(antialias?: boolean)
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci用来配置OffscreenCanvasRenderingContext2D对象的参数,包括是否开启抗锯齿。
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci| 参数名       | 类型      | 说明                  |
47e41f4b71Sopenharmony_ci| --------- | ------- | ------------------- |
48e41f4b71Sopenharmony_ci| antialias | boolean | 是否开启抗锯齿功能,默认为false。 |
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci### toDataURL
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_citoDataURL(type?: string, quality?:number): string
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci生成一个包含图片展示的URL。
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**参数:** 
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci| 参数名     | 参数类型   | 必填   | 描述                                       |
59e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ---------------------------------------- |
60e41f4b71Sopenharmony_ci| type    | string | 否    | 可选参数,用于指定图像格式,默认格式为image/png。            |
61e41f4b71Sopenharmony_ci| quality | number | 否    | 在指定图片格式为image/jpegimage/webp的情况下,可以从0到1的区间内选择图片的质量。如果超出取值范围,将会使用默认值0.92。 |
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci**返回值:**  
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci| 类型     | 说明        |
66e41f4b71Sopenharmony_ci| ------ | --------- |
67e41f4b71Sopenharmony_ci| string | 图像的URL地址。 |
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci### transferToImageBitmap
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_citransferToImageBitmap(): ImageBitmap
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci在离屏画布最近渲染的图像上创建一个ImageBitmap对象。
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci**返回值:**  
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci| 类型                                       | 说明              |
79e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------- |
80e41f4b71Sopenharmony_ci| [ImageBitmap](js-components-canvas-imagebitmap.md) | 存储离屏画布上渲染的像素数据。 |
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci## 示例
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci```html
86e41f4b71Sopenharmony_ci<!-- xxx.hml -->
87e41f4b71Sopenharmony_ci<div>
88e41f4b71Sopenharmony_ci  <canvas ref="canvasId" style="width: 200px; height: 150px; background-color: #ffff00;"></canvas>
89e41f4b71Sopenharmony_ci</div>
90e41f4b71Sopenharmony_ci```
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci```js
93e41f4b71Sopenharmony_ci//xxx.js
94e41f4b71Sopenharmony_ciexport default {
95e41f4b71Sopenharmony_ci  onShow() {
96e41f4b71Sopenharmony_ci    var canvas = this.$refs.canvasId.getContext('2d');
97e41f4b71Sopenharmony_ci    var offscreen = new OffscreenCanvas(500,500);
98e41f4b71Sopenharmony_ci    var offscreenCanvasCtx = offscreen.getContext("2d");
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci    // ... some drawing for the canvas using the offscreenCanvasCtx ...
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci    var dataURL = offscreen.toDataURL();
103e41f4b71Sopenharmony_ci    console.log(dataURL); //data:image/png;base64,xxxxxx
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci    var bitmap = offscreen.transferToImageBitmap();
106e41f4b71Sopenharmony_ci    canvas.transferFromImageBitmap(bitmap);
107e41f4b71Sopenharmony_ci  }
108e41f4b71Sopenharmony_ci}
109e41f4b71Sopenharmony_ci```
110e41f4b71Sopenharmony_ci
111