[whatwg] SVG extensions to <canvas>


(Please reply to either HTML or WHATWG list.)

For Opera 9.5 beta we implemented some experimental extensions to <canvas>  
involving SVGSvgElement. SVGSvgElement is supported as "image" argument to  
both drawImage and createPattern. (An HTMLImageElement pointing to an SVG  
element is also supported, but that seems natural if you support SVG from  

For drawImage the pixel size of the SVG is determined as follows:

   1. The image size parameters passed to drawImage
   2. The intrinsic size of the SVG image
   3. 300 x 150

For createPattern it is as follows:

   1. The intrinsic size of the SVG image
   2. 300 x 150

(It would be nice if createPattern was extended to allow height/width  
arguments as well.)

The intrinsic size of the SVG image is the specified size with percentages  
resolved against 300 x 150, and sizes depending on the font-size resolved  
against the computed font-size of the SVGSvgElement (will be the browser  
default most of the time).

The SVG image is always rendered at time 0 for animated images.

Drawing an SVG image currently marks the canvas context as unsafe so  
toDataURL() and getImageData() throw. We expect to make this story a bit  
nicer at some point.


Anne van Kesteren

Received on Thursday, 25 October 2007 11:58:45 UTC