Convert images to Flash animations

Share:

Description

This function opens a graphical device first to generate a sequence of images based on expr, then makes use of the commands in SWFTools (png2swf, jpeg2swf, pdf2swf) to convert these images to a single Flash animation.

Usage

1
saveSWF(expr, swf.name = "animation.swf", img.name = "Rplot", swftools = NULL, ...)

Arguments

expr

an expression to generate animations; use either the animation functions (e.g. brownian.motion()) in this package or a custom expression (e.g. for(i in 1:10) plot(runif(10), ylim = 0:1)).

swf.name

file name of the Flash file

img.name

the base file name of the sequence of images (without any format or extension)

swftools

the path of SWFTools, e.g. ‘C:/swftools’. This argument is to make sure that png2swf, jpeg2swf and pdf2swf can be executed correctly. If it is NULL, it should be guaranteed that these commands can be executed without the path; anyway, this function will try to find SWFTools from Windows registry even if it is not in the PATH variable.

...

other arguments passed to ani.options, e.g. ani.height and ani.width, ...

Value

An integer indicating failure (-1) or success (0) of the converting (refer to system).

Note

Please download and install the SWFTools before using this function: http://www.swftools.org

We can also set the path to SWF Tools by ani.options(swftools = 'path/to/swftools').

ani.options('ani.type') can only be one of png, pdf and jpeg.

Also note that PDF graphics can be compressed using qpdf or Pdftk (if either one is installed and ani.options('qpdf') or ani.options('pdftk') has been set); see qpdf or pdftk.

Author(s)

Yihui Xie

See Also

Other utilities: gm.convert, im.convert; saveGIF, saveMovie; saveHTML; saveLatex; saveVideo

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## from png to swf
saveSWF({
    par(mar = c(3, 3, 1, 1.5), mgp = c(1.5, 0.5, 0))
    knn.ani(test = matrix(rnorm(16), ncol = 2), cl.pch = c(16, 2))
}, swf.name = "kNN.swf", interval = 1.5, nmax = ifelse(interactive(), 40, 
    2))

## from pdf (vector plot) to swf; can set the option 'pdftk' to compress
## PDF
saveSWF({
    brownian.motion(pch = 21, cex = 5, col = "red", bg = "yellow")
}, swf.name = "brownian.swf", interval = 0.2, nmax = 30, ani.dev = "pdf", 
    ani.type = "pdf", ani.height = 6, ani.width = 6)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.