canvas support in Opera

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>&lt;canvas> demo</title>
  <style> canvas { border:solid } </style>
 </head>
 <body>
  <p><canvas width="150" height="200">
   <code>canvas</code> 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
MemberSupportedNotes
widthYes-
heightYes-
toDataURL()Yes-
getContext()YesOpera supports 2d as parameter.
CanvasRenderingContext2D support
MemberSupportedNotes
canvasYes-
save()Yes-
restore()Yes-
scale(x, y)Yes-
rotate(angle)Yes-
translate(x, y)Yes-
transform(m11, m12, m21, m22, dx, dy)Yes-
setTransform(m11, m12, m21, m22, dx, dy)Yes-
globalAlphaYes-
globalCompositeOperationYes-
strokeStyleYes-
fillStyleYes-
createLinearGradient(x0, y0, x1, y1)Yes-
createRadialGradient(x0, y0, r0, x1, y1, r1)Yes-
createPattern(image, repetition)Yes-
lineWidthYes-
lineCapYes-
lineJoinYes-
miterLimitYes-
shadowOffsetXPartial - get and set valuesSupported by Opera within the DOM, but not yet rendered.
shadowOffsetYPartial - get and set valuesSupported by Opera within the DOM, but not yet rendered.
shadowBlurPartial - get and set valuesSupported by Opera within the DOM, but not yet rendered.
shadowColorPartial - get and set valuesSupported 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)Yes-
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)Yes-
putImageData(image, dx, dy)Yes-
fontNo-
textAlignNo-
textBaselineNo-
fillText(text, x, y)No-
fillText(text, x, y, maxWidth)No-
strokeText(test, x, y)No-
strokeText(test, x, y, maxWidth)No-
measureText(text)No-
createImageData(sw, sh)No-
CanvasGradient support
MemberSupportedNotes
addStopColor(offset, color)Yes-
CanvasPattern support
MemberSupportedNotes
// no members--
TextMetrics support
MemberSupportedNotes
widthNoOpera does not support the TextMetrics interface.
ImageData support
MemberSupportedNotes
widthYes-
heightYes-
CanvasPixelArray support
MemberSupportedNotes
lengthYeswindow.CanvasPixelArray
is undefined in Opera, i.e.,
there is no interface object.
[IndexGetter]Yes
[IndexSetter]Yes