W3cubDocs

/DOM

HTMLCanvasElement

The 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 interface.

Properties

Inherits properties from its parent, HTMLElement.

HTMLCanvasElement.height
Is a positive integer reflecting the height HTML attribute of the <canvas> element interpreted in CSS pixels. 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.
HTMLCanvasElement.mozOpaque
Is a 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 }) instead.
HTMLCanvasElement.width
Is a positive integer reflecting the width HTML attribute of the <canvas> element interpreted in CSS pixels. 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.
HTMLCanvasElement.mozPrintCallback
Is a function that is Initially null, Web content can set this to a JavaScript function that will be called if the page is printed. This function can then redraw the canvas at a higher resolution that is suitable for the printer being used. See this blog post.

Methods

Inherits methods from its parent, HTMLElement.

HTMLCanvasElement.captureStream()
Returns a 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" returns a 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()
Creates a 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.
HTMLCanvasElement.mozGetAsFile()
Returns a File object representing the image contained in the canvas; this file is a memory-based file, with the specified name. If type is not specified, the image type is image/png.

Specifications

Specification Status Comment
Media Capture from DOM Elements
The definition of 'HTMLCanvasElement' in that specification.
Working Draft Adds the method captureStream().
HTML Living Standard
The definition of 'HTMLCanvasElement' in that specification.
Living Standard The method getContext() now returns a RenderingContext rather than an opaque object.
The transferControlToOffscreen()method has been added.
HTML 5.1
The definition of 'HTMLCanvasElement' in that specification.
Recommendation
HTML5
The definition of 'HTMLCanvasElement' in that specification.
Recommendation Initial definition.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 4 Yes 3.6 9 9
9
Opera Mini 5.0 and later has partial support.
3.1
height 4 12 3.6 9 9 3.1
mozOpaque No No 3.5 No No No
width 4 12 3.6 9 9 3.1
captureStream 51 ? 43 No 36 ?
getContext Yes 12 3.6 9 9 3.1
mozFetchAsStream No No 13 — 43 No No No
mozGetAsFile No No 4 No No No
toBlob 50 No 19 10
Prefixed
10
Prefixed
Prefixed Implemented with the vendor prefix: ms
37 Yes
Yes
See WebKit bug 71270.
toDataURL 4 12 3.6 9 9 4
transferControlToOffscreen 69 No 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.
No No No
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes Yes Yes 10
10
Opera Mini 5.0 and later has partial support.
3.2 Yes
height Yes Yes Yes 4 Yes Yes Yes
mozOpaque No No No 4 No No No
width Yes Yes Yes 4 Yes Yes Yes
captureStream 51 51 ? 43 38 ? 5.0
getContext Yes Yes ? 4 Yes Yes Yes
mozFetchAsStream No No No No No No No
mozGetAsFile No No No 4 No No No
toBlob 50 50 No 4 37 No 5.0
toDataURL Yes 18 No 4 19 3 Yes
transferControlToOffscreen No 69 No 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.
No No No

See also

  • HTML element implementing this interface: <canvas>.

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement