1e41f4b71Sopenharmony_ci# OffscreenCanvas 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci> **NOTE** 4e41f4b71Sopenharmony_ci> 5e41f4b71Sopenharmony_ci> The APIs of this component are supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**OffscreenCanvas** defines a canvas object that can be rendered off the screen. 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## Attributes 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci| Name | Type | Description | 14e41f4b71Sopenharmony_ci| ------ | ------ | --------------------------- | 15e41f4b71Sopenharmony_ci| width | number | Width of the **OffscreenCanvas** object.| 16e41f4b71Sopenharmony_ci| height | number | Height of the **OffscreenCanvas** object.| 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci## Methods 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci### getContext 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_cigetContext(type: string, options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ciObtains the **OffscreenCanvas** context. This API returns a 2D drawing object. 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**Parameters** 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 31e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | ---------------------- | 32e41f4b71Sopenharmony_ci| contextId | string | Yes | Context ID. The value can only be **"2d"**. | 33e41f4b71Sopenharmony_ci| options | [CanvasRenderingContext2DSettings](#canvasrenderingcontext2dsettings) | No | Whether to enable anti-aliasing. By default, anti-aliasing is disabled.| 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**Return value** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| Type | Description | 38e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------------- | 39e41f4b71Sopenharmony_ci| [OffscreenCanvasRenderingContext2D](js-offscreencanvasrenderingcontext2d.md) | 2D drawing object, which can be used to draw rectangles, images, and texts, on the **OffscreenCanvas**.| 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci### CanvasRenderingContext2DSettings 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ciCanvasRenderingContext2DSettings(antialias?: boolean) 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ciConfigures the settings of an **OffscreenCanvasRenderingContext2D** object, including whether to enable antialiasing. 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci| Name | Type | Description | 48e41f4b71Sopenharmony_ci| --------- | ------- | ------------------- | 49e41f4b71Sopenharmony_ci| antialias | boolean | Whether to enable anti-aliasing. The default value is **false**.| 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci### toDataURL 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_citoDataURL(type?: string, quality?:number): string 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ciGenerates a URL containing image display information. 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci**Parameters** 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 60e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ---------------------------------------- | 61e41f4b71Sopenharmony_ci| type | string | No | Image format. The default value is **image/png**. | 62e41f4b71Sopenharmony_ci| quality | number | No | Image quality, which ranges from 0 to 1, when the image format is **image/jpeg** or **image/webp**. If the set value is beyond the value range, the default value **0.92** is used.| 63e41f4b71Sopenharmony_ci 64e41f4b71Sopenharmony_ci**Return value** 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci| Type | Description | 67e41f4b71Sopenharmony_ci| ------ | --------- | 68e41f4b71Sopenharmony_ci| string | Image URL.| 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci### transferToImageBitmap 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_citransferToImageBitmap(): ImageBitmap 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ciCreates an **ImageBitmap** object on the most recently rendered image of the **OffscreenCanvas**. 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci**Return value** 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci| Type | Description | 80e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------- | 81e41f4b71Sopenharmony_ci| [ImageBitmap](js-components-canvas-imagebitmap.md) | Pixel data rendered on the **OffscreenCanvas**.| 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci## Example 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci```html 87e41f4b71Sopenharmony_ci<!-- xxx.hml --> 88e41f4b71Sopenharmony_ci<div> 89e41f4b71Sopenharmony_ci <canvas ref="canvasId" style="width: 200px; height: 150px; background-color: #ffff00;"></canvas> 90e41f4b71Sopenharmony_ci</div> 91e41f4b71Sopenharmony_ci``` 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci```js 94e41f4b71Sopenharmony_ci//xxx.js 95e41f4b71Sopenharmony_ciexport default { 96e41f4b71Sopenharmony_ci onShow() { 97e41f4b71Sopenharmony_ci var canvas = this.$refs.canvasId.getContext('2d'); 98e41f4b71Sopenharmony_ci var offscreen = new OffscreenCanvas(500,500); 99e41f4b71Sopenharmony_ci var offscreenCanvasCtx = offscreen.getContext("2d"); 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci // ... some drawing for the canvas using the offscreenCanvasCtx ... 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ci var dataURL = offscreen.toDataURL(); 104e41f4b71Sopenharmony_ci console.log(dataURL); //data:image/png;base64,xxxxxx 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci var bitmap = offscreen.transferToImageBitmap(); 107e41f4b71Sopenharmony_ci canvas.transferFromImageBitmap(bitmap); 108e41f4b71Sopenharmony_ci } 109e41f4b71Sopenharmony_ci} 110e41f4b71Sopenharmony_ci``` 111