- From: Jeff Schiller <codedread@gmail.com>
- Date: Wed, 3 Feb 2010 08:30:55 -0600
- To: Erik Dahlstrom <ed@opera.com>
- Cc: Lars Gunther <gunther@keryx.se>, SVG IG List <public-svg-ig@w3.org>
Hi Erik,
> <html xmlns="http://www.w3.org/1999/xhtml">
> <head>
> <svg id="testsvg" xmlns="http://www.w3.org/2000/svg" width="8" height="8"
> viewBox="0 0 8 8">
> <filter id="flood" x="0" y="0" width="1" height="1">
> <feFlood flood-color="lime"/>
> </filter>
> <rect fill="red" filter="url(#flood)" width="8" height="8"/>
> </svg>
> </head>
> <body>
> <canvas width="8" height="8"/>
> <script>//<![CDATA[
> var canvas = document.getElementsByTagName("canvas")[0];
> var ctx = canvas.getContext("2d");
> ctx.fillStyle = "red";
> ctx.fillRect(0,0,canvas.height,canvas.height);
> ctx.drawImage(document.getElementById("testsvg"), 0, 0, canvas.width,
> canvas.height);
> var pixels = ctx.getImageData(0,0,1,1);
> alert(pixels.data[0] == 0 &&
> pixels.data[1] == 255 &&
> pixels.data[2] == 0 &&
> pixels.data[3] == 255);
> //]]></script>
> </body>
> </html>
>
> This fails in Opera due to bug CORE-15553 (security exceptions are thrown if
> an svg has been rendered to the canvas), but if that was fixed the above
> would alert true.
I would love if this worked in browsers, because it would allow you to
automate tests (check pixel data and report results in the DOM) and
I'm also looking for a nice way to serialize an SVG to PNG on the
client side.
Regards,
Jeff
Received on Wednesday, 3 February 2010 14:31:32 UTC