Our volunteers haven't translated this article into Română yet. Join us and help get the job done!
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 theheight
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 of150
is used. HTMLCanvasElement.mozOpaque
- Is a
Boolean
reflecting themoz-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 thewidth
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 of300
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 aCanvasRenderingContext2D
object, whereas calling it with"experimental-webgl"
(or"webgl"
) returns aWebGLRenderingContext
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 topng
). 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 specifiedname
. Iftype
is not specified, the image type isimage/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. |
Working Draft | |
HTML5 The definition of 'HTMLCanvasElement' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support (2D context) |
4.0 | 3.6 (1.9.2) | 9.0 | 9.0 [1] | 3.1 |
toBlob() |
50 | 19 (19) [2] | ? | ? | No support (bug 71270) |
probablySupportsContext() ,setContext() ,transferControlToProxy() |
No support | No support | No support | No support | No support |
mozGetAsFile() |
No support | 4.0 (2) | No support | No support | No support |
captureStream() |
No support | 41 (41) | No support | No support | No support |
transferControlToOffscreen() |
No support | 44 (44) [3] | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support (2D context) |
2.1 | (Yes) | (Yes) | ? | 10.0 [1] | 3.2 |
webgl context |
? | ? | (Yes) as experimental-webgl |
? | ? | ? |
toBlob() |
No support (bug 67587) | 50 | 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 | 4.0 (2) | No support | No support | No support |
captureStream() |
No support | No support | 41.0 (41) | No support | No support | No support |
transferControlToOffscreen() |
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>
.
Document Tags and Contributors
Tags:
Contributors to this page:
slimsag,
Jonathan_Watt,
Sephr,
fscholz,
teoli,
danielfriesen,
Nexii,
prometheansacrifice,
anandu,
Noitidart,
Naesten,
kohei.yoshino,
kscarfone,
trevorh,
igall,
ethertank,
Sheppy,
JesseNaranjo,
alex35,
evilpie,
ttaubert,
ebidel,
darktrojan,
cgack,
jswisher,
tw2113,
fusionchess,
myakura,
ilmarihei,
mako52,
Nickolay,
Brettz9
Last updated by:
slimsag,