HTMLCanvasElement

HTMLCanvasElement interface provides properties and methods for manipulating the layout and presentation of <canvas> elements. The HTMLCanvasElement interface also inherits the properties and methods of the HTMLElement 接口。

特性

Inherits properties from its parent, HTMLElement .

HTMLCanvasElement.height
height HTML attribute of the <canvas> element is a positive integer reflecting the number of logical pixels (or RGBA values) going down one column of the canvas. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used. If no [separate] CSS height is assigned to the <canvas> , then this value will also be used as the height of the canvas in the length-unit CSS Pixel.
HTMLCanvasElement.width
width HTML attribute of the <canvas> element is a positive integer reflecting the number of logical pixels (or RGBA values) going across one row of the canvas. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used. If no [separate] CSS width is assigned to the <canvas> , then this value will also be used as the width of the canvas in the length-unit CSS Pixel.
HTMLCanvasElement.mozOpaque
Boolean reflecting the moz-opaque HTML attribute of the <canvas> element. It lets the canvas know whether or not translucency will be a factor. If the canvas knows there's no translucency, painting performance can be optimized. This is only supported in Mozilla-based browsers; use the standardized canvas.getContext('2d', { alpha: false }) 代替。
HTMLCanvasElement.mozPrintCallback
function that is Initially null. Web content can set this to a JavaScript function that will be called when the canvas is to be redrawn while the page is being printed. When called, the callback is passed a "printState" object that implements the MozCanvasPrintState interface. The callback can get the context to draw to from the printState object and must then call done() on it when finished. The purpose of mozPrintCallback is to obtain a higher resolution rendering of the canvas at the resolution of the printer being used. See this blog post.

方法

Inherits methods from its parent, HTMLElement .

HTMLCanvasElement.captureStream()
返回 CanvasCaptureMediaStream that is a real-time video capture of the surface of the canvas.
HTMLCanvasElement.getContext()
Returns a drawing context on the canvas, or null if the context ID is not supported. A drawing context lets you draw on the canvas. Calling getContext with "2d" 返回 CanvasRenderingContext2D object, whereas calling it with "webgl" (or "experimental-webgl" ) returns a WebGLRenderingContext object. This context is only available on browsers that implement WebGL .
HTMLCanvasElement.toDataURL()
Returns a data-URL containing a representation of the image in the format specified by the type parameter (defaults to png ). The returned image is in a resolution of 96dpi.
HTMLCanvasElement.toBlob()
创建 Blob object representing the image contained in the canvas; this file may be cached on the disk or stored in memory at the discretion of the user agent.
HTMLCanvasElement.transferControlToOffscreen()
Transfers control to an OffscreenCanvas object, either on the main thread or on a worker.

Obsolete methods

HTMLCanvasElement.mozGetAsFile()
返回 File object representing the image contained in the canvas; this file is a memory-based file, with the specified name 。若 type is not specified, the image type is image/png .

Events

监听这些事件使用 addEventListener() .

webglcontextcreationerror
Fired if the user agent is unable to create a WebGLRenderingContext or WebGL2RenderingContext context.
webglcontextlost
Fired if the user agent detects that the drawing buffer associated with a WebGLRenderingContext or WebGL2RenderingContext object has been lost.
webglcontextrestored
Fired if the user agent restores the drawing buffer for a WebGLRenderingContext or WebGL2RenderingContext 对象。

规范

规范 状态 Comment
HTML Living Standard
The definition of 'HTMLCanvasElement' in that specification.
实时标准 Primary definition of HTMLCanvasElement .
Media Capture from DOM Elements
The definition of 'HTMLCanvasElement' in that specification.
工作草案 Adds the method captureStream() .

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
HTMLCanvasElement Chrome 1 Edge 12 Firefox 1.5 IE 9 Opera 9
注意事项
9
注意事项
Opera Mini 5.0 and later has partial support.
Safari 2 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1
注意事项
10.1
注意事项
Opera Mini 5.0 and later has partial support.
Safari iOS 1 Samsung Internet Android 1.0
captureStream
Chrome 51 Edge ≤79 Firefox 43 IE 不支持 No Opera 36 Safari 11 WebView Android 51 Chrome Android 51 Firefox Android 43 Opera Android 36 Safari iOS 11 Samsung Internet Android 5.0
getContext Chrome 1 Edge 12 Firefox 1.5 IE 9 Opera 9 Safari 2 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1 Safari iOS 1 Samsung Internet Android 1.0
height Chrome 1 Edge 12 Firefox 1.5 IE 9 Opera 9 Safari 3 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1 Safari iOS 1 Samsung Internet Android 1.0
mozFetchAsStream
弃用 非标
Chrome 不支持 No Edge 不支持 No Firefox 不支持 13 — 43 IE 不支持 No Opera 不支持 No Safari 不支持 No WebView Android 不支持 No Chrome Android 不支持 No Firefox Android 不支持 No Opera Android 不支持 No Safari iOS 不支持 No Samsung Internet Android 不支持 No
mozGetAsFile
弃用 非标
Chrome 不支持 No Edge 不支持 No Firefox 不支持 4 — 74
注意事项
4 — 74
注意事项
mozGetAsFile() was deprecated in Firefox 26 (in 2013) and was removed entirely in Firefox 74.
IE 不支持 No Opera 不支持 No Safari 不支持 No WebView Android 不支持 No Chrome Android 不支持 No Firefox Android 4 Opera Android 不支持 No Safari iOS 不支持 No Samsung Internet Android 不支持 No
mozOpaque
非标
Chrome 不支持 No Edge 不支持 No Firefox 3 IE 不支持 No Opera 不支持 No Safari 不支持 No WebView Android 不支持 No Chrome Android 不支持 No Firefox Android 4 Opera Android 不支持 No Safari iOS 不支持 No Samsung Internet Android 不支持 No
toBlob Chrome 50 Edge 79
79
12 — 79
Prefixed
Prefixed Implemented with the vendor prefix: ms
Firefox 19 IE 10
Prefixed
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
Opera 37 Safari 11 WebView Android 50 Chrome Android 50 Firefox Android 4 Opera Android 37 Safari iOS 11 Samsung Internet Android 5.0
toDataURL Chrome 1 Edge 12 Firefox 2 IE 9 Opera 9 Safari 4 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1 Safari iOS 3.2 Samsung Internet Android 1.0
transferControlToOffscreen
Chrome 69 Edge 79 Firefox 44
Disabled
44
Disabled
Disabled From version 44: this feature is behind the gfx.offscreencanvas.enabled preference. To change preferences in Firefox, visit about:config.
IE 不支持 No Opera 不支持 No Safari 不支持 No WebView Android 不支持 No Chrome Android 69 Firefox Android 44
Disabled
44
Disabled
Disabled From version 44: this feature is behind the gfx.offscreencanvas.enabled preference. To change preferences in Firefox, visit about:config.
Opera Android 不支持 No Safari iOS 不支持 No Samsung Internet Android 10.0
webglcontextcreationerror event Chrome 9 Edge 12 Firefox 49 IE 11 Opera 12 Safari 5.1 WebView Android Yes Chrome Android 25 Firefox Android 49 Opera Android 12 Safari iOS 8 Samsung Internet Android 1.5
webglcontextlost event Chrome 9 Edge 12 Firefox 4 IE 11 Opera 12 Safari 5.1 WebView Android Yes Chrome Android 25 Firefox Android 4 Opera Android 12 Safari iOS 8 Samsung Internet Android 1.5
webglcontextrestored event Chrome 9 Edge 12 Firefox 4 IE 11 Opera 12 Safari 5.1 WebView Android Yes Chrome Android 25 Firefox Android 4 Opera Android 12 Safari iOS 8 Samsung Internet Android 1.5
width Chrome 1 Edge 12 Firefox 1.5 IE 9 Opera 9 Safari 3 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1 Safari iOS 1 Samsung Internet Android 1.0

图例

完整支持
完整支持
不支持
不支持
实验。期望将来行为有所改变。
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
弃用。不要用于新网站。
见实现注意事项。
用户必须明确启用此特征。
用户必须明确启用此特征。
要求使用供应商前缀或不同名称。
要求使用供应商前缀或不同名称。

另请参阅

  • HTML element implementing this interface: <canvas>