HTMLCanvasElement
interface provides properties and methods for manipulating the layout and presentation of
<canvas>
元素。
HTMLCanvasElement
interface also inherits the properties and methods of the
HTMLElement
接口。
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 20%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 120" preserveAspectRatio="xMinYMin meet"><a xlink:href="../API/EventTarget.html" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="../API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="../API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="../API/HTMLElement" target="_top"><rect x="381" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="436" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLElement</text></a><polyline points="491,25 501,20 501,30 491,25" stroke="#D4DDE4" fill="none"/><line x1="501" y1="25" x2="509" y2="25" stroke="#D4DDE4"/><line x1="509" y1="25" x2="509" y2="90" stroke="#D4DDE4"/><line x1="509" y1="90" x2="492" y2="90" stroke="#D4DDE4"/><a xlink:href="../API/HTMLCanvasElement" target="_top"><rect x="321" y="65" width="170" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="406" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLCanvasElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
继承的特性来自其父级,
HTMLElement
.
HTMLCanvasElement.height
height
HTML attribute of the
<canvas>
element is a positive
integer
reflecting 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 of
150
is 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.width
width
HTML attribute of the
<canvas>
element is a positive
integer
reflecting 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 of
300
is 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.mozOpaque
布尔
反射
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 })
代替。
HTMLCanvasElement.mozPrintCallback
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.
继承方法来自其父级
HTMLElement
.
HTMLCanvasElement.captureStream()
CanvasCaptureMediaStream
that is a real-time video capture of the surface of the canvas.
HTMLCanvasElement.getContext()
"2d"
返回
CanvasRenderingContext2D
object, whereas calling it with
"webgl"
(或
"experimental-webgl"
) returns a
WebGLRenderingContext
object. This context is only available on browsers that implement
WebGL
.
HTMLCanvasElement.toDataURL()
type
parameter (defaults to
png
). The returned image is in a resolution of 96dpi.
HTMLCanvasElement.toBlob()
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()
OffscreenCanvas
object, either on the main thread or on a worker.
HTMLCanvasElement.mozGetAsFile()
File
object representing the image contained in the canvas; this file is a memory-based file, with the specified
名称
。若
type
is not specified, the image type is
image/png
.
监听这些事件使用
addEventListener()
.
webglcontextcreationerror
WebGLRenderingContext
or
WebGL2RenderingContext
上下文。
webglcontextlost
WebGLRenderingContext
or
WebGL2RenderingContext
object has been lost.
webglcontextrestored
WebGLRenderingContext
or
WebGL2RenderingContext
对象。
| 规范 | 状态 | 注释 |
|---|---|---|
|
HTML 实时标准
The definition of 'HTMLCanvasElement' in that specification. |
实时标准 |
Primary definition of
HTMLCanvasElement
.
|
|
Media Capture from DOM Elements
The definition of 'HTMLCanvasElement' in that specification. |
工作草案 |
Adds the method
captureStream()
.
|
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
HTMLCanvasElement
|
Chrome 1 | Edge 12 | Firefox 1.5 | IE 9 |
Opera
9
注意事项
|
Safari 2 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 |
Opera Android
10.1
注意事项
|
Safari iOS 1 | Samsung Internet Android 1.0 |
captureStream
|
Chrome 51 | Edge ≤79 | Firefox 43 | IE 不支持 No | Opera 36 | Safari 11 | WebView Android 51 | Chrome Android 51 | Firefox Android 43 | Opera Android 36 | Safari iOS 11 | Samsung Internet Android 5.0 |
getContext
|
Chrome 1 | Edge 12 | Firefox 1.5 | IE 9 | Opera 9 | Safari 2 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 1 | Samsung Internet Android 1.0 |
height
|
Chrome 1 | Edge 12 | Firefox 1.5 | IE 9 | Opera 9 | Safari 3 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 1 | Samsung Internet Android 1.0 |
mozFetchAsStream
弃用
非标
|
Chrome 不支持 No | Edge 不支持 No | Firefox 不支持 13 — 43 | IE 不支持 No | Opera 不支持 No | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 不支持 No | Firefox Android 不支持 No | Opera Android 不支持 No | Safari iOS 不支持 No | Samsung Internet Android 不支持 No |
mozGetAsFile
弃用
非标
|
Chrome 不支持 No | Edge 不支持 No |
Firefox
不支持
4 — 74
注意事项
|
IE 不支持 No | Opera 不支持 No | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 不支持 No | Firefox Android 4 | Opera Android 不支持 No | Safari iOS 不支持 No | Samsung Internet Android 不支持 No |
mozOpaque
非标
|
Chrome 不支持 No | Edge 不支持 No | Firefox 3 | IE 不支持 No | Opera 不支持 No | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 不支持 No | Firefox Android 4 | Opera Android 不支持 No | Safari iOS 不支持 No | Samsung Internet Android 不支持 No |
toBlob
|
Chrome 50 |
Edge
79
|
Firefox 19 |
IE
10
Prefixed
|
Opera 37 | Safari 11 | WebView Android 50 | Chrome Android 50 | Firefox Android 4 | Opera Android 37 | Safari iOS 11 | Samsung Internet Android 5.0 |
toDataURL
|
Chrome 1 | Edge 12 | Firefox 2 | IE 9 | Opera 9 | Safari 4 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 3.2 | Samsung Internet Android 1.0 |
transferControlToOffscreen
|
Chrome 69 | Edge 79 |
Firefox
44
Disabled
|
IE 不支持 No | Opera 不支持 No | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 69 |
Firefox Android
44
Disabled
|
Opera Android 不支持 No | Safari iOS 不支持 No | Samsung Internet Android 10.0 |
webglcontextcreationerror
event
|
Chrome 9 | Edge 12 | Firefox 49 | IE 11 | Opera 12 | Safari 5.1 | WebView Android Yes | Chrome Android 25 | Firefox Android 49 | Opera Android 12 | Safari iOS 8 | Samsung Internet Android 1.5 |
webglcontextlost
event
|
Chrome 9 | Edge 12 | Firefox 4 | IE 11 | Opera 12 | Safari 5.1 | WebView Android Yes | Chrome Android 25 | Firefox Android 4 | Opera Android 12 | Safari iOS 8 | Samsung Internet Android 1.5 |
webglcontextrestored
event
|
Chrome 9 | Edge 12 | Firefox 4 | IE 11 | Opera 12 | Safari 5.1 | WebView Android Yes | Chrome Android 25 | Firefox Android 4 | Opera Android 12 | Safari iOS 8 | Samsung Internet Android 1.5 |
width
|
Chrome 1 | Edge 12 | Firefox 1.5 | IE 9 | Opera 9 | Safari 3 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 1 | Samsung Internet Android 1.0 |
完整支持
不支持
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
见实现注意事项。
用户必须明确启用此特征。
要求使用供应商前缀或不同名称。
<canvas>