<canvas> support in
Opera Presto 2.3
The <canvas> element enables a bitmap drawing API in HTML. It can be considered the scripted version
of the <img /> element. To draw a simple green square you would use the following code:
<!doctype html>
<html>
<head>
<title><canvas>demo</title>
<style> canvas { border:solid } </style>
</head>
<body>
<p><canvas width="150" height="200">
<canvas> element not supported.
</canvas></p>
<script type="text/javascript">
var canvas = document.getElementsByTagName("canvas"),
context = canvas.getContext("2d")
context.fillStyle = "lime"
context.fillRect(0, 0, 150, 200)
</script>
</body>
</html>
Two interfaces are important for the <canvas> element: the HTMLCanvasElement interface which
is exposed by the element and the CanvasRenderingContext2D interface which is what's being returned with the
getContext("2d") method call.
HTMLCanvasElement support
|
Member |
Supported |
Notes |
width |
Yes |
|
height |
Yes |
|
toDataURL() |
Yes |
|
getContext(context) |
Yes |
Opera supports 2d and opera-2dgame as parameters. |
The "opera-2dgame" parameter of the getContext() method is not guarenteed to be supported in future
versions of Opera and should be considered experimental. Similar functionality to what it exposes has been added to the
<canvas> specification based on feedback from Opera and Opera will add support for those new methods
in due course.
CanvasRenderingContext2D support
|
Member |
Supported |
Notes |
canvas |
Yes |
|
save() |
Yes |
|
restore() |
Yes |
|
scale(x, y) |
Yes |
|
rotate(angle) |
Yes |
|
translate(x, y) |
Yes |
|
transform(m11, m12, m21, m22, dx, dy) |
No |
|
setTransform(m11, m12, m21, m22, dx, dy) |
No |
|
globalAlpha |
Yes |
|
globalCompositeOperation |
Yes |
|
strokeStyle |
Yes |
|
fillStyle |
Yes |
|
createLinearGradient(x0, y0, x1, y1) |
Yes |
|
createRadialGradient(x0, y0, r0, x1, y1, r1) |
Yes |
|
createPattern(image, repetition) |
Yes |
|
lineWidth |
Yes |
|
lineCap |
Yes |
|
lineJoin |
Yes |
|
miterLimit |
Yes |
|
shadowOffsetX |
Partial - get and set values |
Supported by Opera within the DOM, but not yet rendered. |
shadowOffsetY |
Partial - get and set values |
Supported by Opera within the DOM, but not yet rendered. |
shadowBlur |
Partial - get and set values |
Supported by Opera within the DOM, but not yet rendered. |
shadowColor |
Partial - get and set values |
Supported by Opera within the DOM, but not yet rendered. |
clearRect(x, y, w, h) |
Yes |
|
fillRect(x, y, w, h) |
Yes |
|
strokeRect(x, y, w, h) |
Yes |
|
beginPath() |
Yes |
|
closePath() |
Yes |
|
moveTo(x, y) |
Yes |
|
lineTo(x, y) |
Yes |
|
quadraticCurveTo(cpx, cpy, x, y) |
Yes |
|
bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) |
Yes |
|
arcTo(x1, y1, x2, y2, radius) |
Yes |
|
rect(x, y, w, h) |
Yes |
|
arc(x, y, radius, startAngle, endAngle, anticlockwise) |
Yes |
|
fill() |
Yes |
|
stroke() |
Yes |
|
clip() |
Yes |
|
isPointInPath(x, y) |
No |
|
drawImage(image, dx, dy) |
Yes |
|
drawImage(image, dx, dy, dw, dh) |
Yes |
|
drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) |
Yes |
|
getImageData(sx, sy, sw, sh) |
No |
|
putImageData(image, dx, dy) |
No |
|
CanvasGradient support
|
Member
|
Supported
|
Notes
|
addStopColor(offset, color)
|
Yes
|
|
CanvasPattern support
|
Member
|
Supported
|
Notes
|
// no members
|
|
|
TextMetrics support
|
Member
|
Supported
|
Notes
|
width
|
No
|
Opera does not support the TextMetrics interface.
|
ImageData support
|
Member
|
Supported
|
Notes
|
width
|
Yes
|
|
height
|
Yes
|
|
CanvasPixelArray support
|
Member
|
Supported
|
Notes
|
length
|
Yes
|
window.CanvasPixelArray is undefined in Opera, i.e., there is no interface object.
|
[IndexGetter]
|
Yes
|
[IndexSetter]
|
Yes
|