Another approach which might work in some browsers would be to try to do the 
frame-freezing in the client, somehow using the <canvas> tag with the 
toDataURL() method. I gather that some browsers are at least contemplating such 
a thing but am unsure if anyone has yet implemented access to SVG data with 
toDataURL() -- basically allowing, through ECMAScript, the conversion of an 
on-screen bitmap to a PNG formatted string variable. Whether such client-side 
rasterization (to enable image analysis among other things) is, in the long 
run, done through <canvas> or through methods directly within the context of 
SVG, remains to be seen, but I wouldn't be completely surprised if some build 
of Opera allows it. Finding a place to scribble all those data, while the SVG 
animation is actually running, might prove a little hairy.

Another really pedestrian approach would be to get one of those freeware screen 
session recorders that people making disposable documentation (affectionately 
known as "doco") use to record mouse movements and so forth to teach people how 
to use software. Those things have been around for at least twenty years and 
used to be fairly easy to use.

David

----- Original Message ----- 
  From: Cameron McCormack 
  To: [email protected] 
  Sent: Tuesday, November 13, 2007 6:05 PM
  Subject: Re: [svg-developers] Export SVG animations to series of PNG, JPG or 
maybe anim GIF?!


  Hi.

  tzeentch.ofhell:
  > Is there an easy way to create a series of images from an animated
  > SVG? I tried to create a batch of sorts by calling the
  > batik.rasterizer.jar and setting
  > document.rootElement.setCurrentTime(xy) in onload, but that just
  > causes an NullPointerException in batik. :(

  I think setCurentTime() in onload doesn’t work since the animation
  engine only kicks off after the load even is dispatched. (Just
  submitted http://issues.apache.org/bugzilla/show_bug.cgi?id=43854 for
  this.)

  > So, is there any tool that can do that? I could, of course, use
  > Stop-Motion in Inkscape, but that would be reeeeaaaal tedious and a
  > PIA. Any suggestions?!

  At the very least, you could use the -snapshotTime command line argument
  and repeatedly call the Batik rasteriser, e.g. something like:

  for t in 0 1 2 3 4 5 6 7 8 9 10; do
  java -jar batik-rasterizer.jar -snapshotTime $t -d img$t.png my.svg
  done

  but that would have the overhead of creating the JVM for every snapshot.
  You’d need to write some Java to make it more efficient, by doing:

  - parse the XML into a Document object
  - loop for every snapshot time:
  - invoke the transcoder for the Document with the appropriate
  snapshot time hint

  -- 
  Cameron McCormack, http://mcc.id.au/
  xmpp:[EMAIL PROTECTED] ▪ ICQ 26955922 ▪ MSN [EMAIL PROTECTED]


   

[Non-text portions of this message have been removed]



-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to