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.
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 "experimental-webgl" (or "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.
Editor's Draft Adds the method captureStream().
WHATWG 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 methods probablySupportsContext(), setContext() and transferControlToProxy()have been added.
HTML5.1
The definition of 'HTMLCanvasElement' in that specification.
Recommendation
HTML5
The definition of 'HTMLCanvasElement' in that specification.
Recommendation Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (2D context) 4.0 (Yes) 3.6 (1.9.2) 9.0 9.0 [1] 3.1
toBlob() 50 No support 19 (19) [2] ? ? No support (bug 71270)
probablySupportsContext(),
setContext(),
transferControlToProxy()
No support ? No support No support No support No support
mozGetAsFile() No support No support 4.0 (2) No support No support No support
captureStream() No support No support 41 (41) No support No support No support
transferControlToOffscreen() No support No support 44 (44) [3] No support No support No support
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (2D context) 2.1 (Yes) (Yes) (Yes) ? 10.0 [1] 3.2
webgl context ? ? ? (Yes) as experimental-webgl ? ? ?
toBlob() No support (bug 67587) 50 No support 18.0 (18) [2] ? ? No support (bug 71270)
probablySupportsContext(),
setContext(),
transferControlToProxy()
No support No support ? No support No support No support No support
mozGetAsFile() No support No support No support 4.0 (2) No support No support No support
captureStream() No support No support No support 41.0 (41) No support No support No support
transferControlToOffscreen() No support No support No support 44.0 (44) [3] No support No support No support

[1] Opera Mini 5.0 and later has partial support.

[2] Support for the third parameter, has been added in Gecko 25 only: when used with the "image/jpeg" type, this argument specifies the image quality.

[3] This feature is behind a feature preference setting. In about:config, set gfx.offscreencanvas.enabled to true.

See also

  • HTML element implementing this interface: <canvas>.

© 2005–2017 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