Ich habe einen Weg gefunden, die Bilderserie mit Hilfe von canvg zu erstellen . Um die folgende Seite auszuführen, müssen Sie ein modifiziertes Skript von canvg.js verwenden, in dem auf die Draw-Funktion zugegriffen werden kann.
Änderungen im Skript canvg.js (v1.0):
In Zeile 2321 ändern von:
var draw = function() {
zu:
svg.draw = function() {
In Zeile 2361 und 2390 wechseln Sie von:
draw();
zu:
svg.draw();
Mein Generierungsskript:
<html> <head> <script type="text/javascript" src="rgbcolor.js"></script> <script type="text/javascript" src="canvg.js"></script> <script type="text/javascript"> loadSVG = function() { canvg('canvas', '<animated SVG>', { ignoreMouse: true, ignoreAnimation: true }); } function RenderNext(delta) { var c = document.getElementById("canvas"); var svg = c.svg; for (var i=0; i<svg.Animations.length; i++) { svg.Animations[i].update(delta); } svg.draw(); } function CreateImage(imgStr) { var oImg=document.createElement("img"); oImg.setAttribute('src', imgStr); return oImg; } function start() { var c = document.getElementById("canvas"); var result = document.getElementById("resultDiv"); var maxDur = 5; // seconds var framerate = 5; // imgages per second for (var i = 0; i < framerate * maxDur; i++) { RenderNext(1000 / framerate); var oImg = CreateImage(c.toDataURL('image/png')); result.appendChild(oImg); } } </script> </head> <body onload="loadSVG()"> <canvas id="canvas" width="30px" height="30px"></canvas> <p> <input type="button" id="start" value="Start" onclick="start()" /> </p> <div id="resultDiv"> </div> </body> </html>