[whatwg] SVG extensions to <canvas>

Simon Pieters simonp at opera.com
Fri May 1 00:06:40 PDT 2009

On Thu, 30 Apr 2009 21:15:04 +0200, Ian Hickson <ian at hixie.ch> wrote:

> On Thu, 25 Oct 2007, Anne van Kesteren wrote:
>> 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 <img>.)
>> 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.
> As far as I can tell this doesn't require any changes to HTML5, since the
> same applies here as applies to a regular <img>, right?

It would at least have to change to make it not throw...

"The image argument must be an instance of HTMLImageElement, HTMLCanvasElement, or HTMLVideoElement. If the image is of the wrong type or null, the implementation must raise a TYPE_MISMATCH_ERR exception."

Simon Pieters
Opera Software

More information about the whatwg mailing list