HTMLCanvasElement
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
TheHTMLCanvasElement interface provides properties and methods for manipulating the layout and presentation of<canvas> elements. TheHTMLCanvasElement interface also inherits the properties and methods of theHTMLElement interface.
In this article
Instance properties
Inherits properties from its parent,HTMLElement.
HTMLCanvasElement.heightThe
heightHTML attribute of the<canvas>element is a non-negativeintegerreflecting 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 of150is 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.widthThe
widthHTML attribute of the<canvas>element is a non-negativeintegerreflecting 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 of300is 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.mozOpaqueNon-standardDeprecatedA boolean value reflecting the
moz-opaqueHTML 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 standardizedcanvas.getContext('2d', { alpha: false })instead.HTMLCanvasElement.mozPrintCallbackNon-standardA
functionthat 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 theMozCanvasPrintState 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 ofmozPrintCallbackis to obtain a higher resolution rendering of the canvas at the resolution of the printer being used.See this blog post.
Instance methods
Inherits methods from its parent,HTMLElement.
HTMLCanvasElement.captureStream()Returns a
CanvasCaptureMediaStreamTrackthat is a real-time video capture of the surface of the canvas.HTMLCanvasElement.getContext()Returns a drawing context on the canvas, or
nullif the context identifier is not supported, or the canvas has already been set to a different context mode.HTMLCanvasElement.toDataURL()Returns a data-URL containing a representation of the image in the format specified by the
typeparameter (defaults topng). The returned image is in a resolution of 96dpi.HTMLCanvasElement.toBlob()Creates a
Blobobject 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
OffscreenCanvasobject, either on the main thread or on a worker.
Events
Inherits events from its parent,HTMLElement.
Listen to these events usingaddEventListener() or by assigning an event listener to theoneventname property of this interface.
contextlostFired if the browser detects that the
CanvasRenderingContext2Dcontext has been lost.contextrestoredFired if the browser successfully restores a
CanvasRenderingContext2DcontextwebglcontextcreationerrorFired if the user agent is unable to create a
WebGLRenderingContextorWebGL2RenderingContextcontext.webglcontextlostFired if the user agent detects that the drawing buffer associated with a
WebGLRenderingContextorWebGL2RenderingContextobject has been lost.webglcontextrestoredFired if the user agent restores the drawing buffer for a
WebGLRenderingContextorWebGL2RenderingContextobject.
Specifications
| Specification |
|---|
| HTML> # htmlcanvaselement> |
Browser compatibility
See also
- HTML element implementing this interface:
<canvas>