--- title: HTMLCanvasElement slug: Web/API/HTMLCanvasElement tags: - API - Canvas - HTML DOM - Interface - NeedsTranslation - Reference - TopicStub translation_of: Web/API/HTMLCanvasElement ---
The HTMLCanvasElement
interface provides properties and methods for manipulating the layout and presentation of {{HtmlElement("canvas")}} elements. The HTMLCanvasElement
interface also inherits the properties and methods of the {{domxref("HTMLElement")}} interface.
{{InheritanceDiagram(600, 120)}}
Inherits properties from its parent, {{domxref("HTMLElement")}}.
integer
reflecting the {{htmlattrxref("height", "canvas")}} HTML attribute of the {{HTMLElement("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.integer
reflecting the {{htmlattrxref("width", "canvas")}} HTML attribute of the {{HTMLElement("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.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, {{domxref("HTMLElement")}}.
"2d"
returns a {{domxref("CanvasRenderingContext2D")}} object, whereas calling it with "webgl"
(or "experimental-webgl"
) returns a {{domxref("WebGLRenderingContext")}} object. This context is only available on browsers that implement WebGL.type
parameter (defaults to png
). The returned image is in a resolution of 96dpi.name
. If type
is not specified, the image type is image/png
.Listen to these events using addEventListener()
.
webglcontextcreationerror
WebGLRenderingContext
or WebGL2RenderingContext
context.webglcontextlost
WebGLRenderingContext
or WebGL2RenderingContext
object has been lost.webglcontextrestored
WebGLRenderingContext
or WebGL2RenderingContext
object.Specification | Status | Comment |
---|---|---|
{{SpecName('Media Capture DOM Elements', '#html-media-element-media-capture-extensions', 'HTMLCanvasElement')}} | {{Spec2('Media Capture DOM Elements')}} | Adds the method captureStream() . |
{{SpecName('HTML WHATWG', "#htmlcanvaselement", "HTMLCanvasElement")}} | {{Spec2('HTML WHATWG')}} | The method getContext() now returns a {{domxref("RenderingContext")}} rather than an opaque object .The transferControlToOffscreen() method has been added. |
{{SpecName('HTML5.1', "scripting-1.html#the-canvas-element", "HTMLCanvasElement")}} | {{Spec2('HTML5.1')}} | |
{{SpecName('HTML5 W3C', "scripting-1.html#the-canvas-element", "HTMLCanvasElement")}} | {{Spec2('HTML5 W3C')}} | Initial definition. |
{{Compat("api.HTMLCanvasElement")}}