im.convert {animation} | R Documentation |
A wrapper for the ‘convert’ utility of ImageMagick or GraphicsMagick
Description
The main purpose of these two functions is to create GIF animations.
Usage
im.convert(
files,
output = "animation.gif",
convert = c("magick", "convert", "gm convert"),
cmd.fun = if (.Platform$OS.type == "windows") shell else system,
extra.opts = "",
clean = FALSE
)
gm.convert(..., convert = "gm convert")
Arguments
files |
either a character vector of file names, or a single string containing wildcards (e.g. ‘Rplot*.png’) |
output |
the file name of the output (with proper extensions, e.g.
|
convert |
the |
cmd.fun |
a function to invoke the OS command; by default
|
extra.opts |
additional options to be passed to |
clean |
logical: delete the input |
... |
arguments to be passed to |
Details
The function im.convert
simply wraps the arguments of the
convert
utility of ImageMagick to make it easier to call
ImageMagick in R;
The function gm.convert
is a wrapper for the command
gm convert
of GraphicsMagick.
Value
The command for the conversion.
If ani.options('autobrowse') == TRUE
, this function will also try to
open the output automatically.
Note
If files
is a character vector, please make sure the order of
filenames is correct! The first animation frame will be files[1]
,
the second frame will be files[2]
, ...
Both ImageMagick and GraphicsMagick may have a limit on the number of
images to be converted. It is a known issue that this function can fail
with more than (approximately) 9000 images. The function
saveVideo
is a better alternative in such a case.
Most Windows users do not have read the boring notes below after they have installed ImageMagick or GraphicsMagick. For the rest of Windows users:
- ImageMagick users
Please install ImageMagick from http://www.imagemagick.org, and make sure the the path to
convert.exe
is in your'PATH'
variable, in which case the commandconvert
can be called without the full path. Windows users are often very confused about the ImageMagick and'PATH'
setting, so I'll try to search for ImageMagick in the Registry Hive byreadRegistry('SOFTWARE\ImageMagick\Current')$BinPath
, thus you might not really need to modify your'PATH'
variable.For Windows users who have installed LyX, I will also try to find the
convert
utility in the LyX installation directory, so they do not really have to install ImageMagick if LyX exists in their system (of course, the LyX should be installed with ImageMagick).Once the
convert
utility is found, the animation option'convert'
will be set (ani.options(convert = 'path/to/convert.exe')
); this can save time for searching forconvert
in the operating system next time.- GraphicsMagick users
During the installation of GraphicsMagick, you will be asked if you allow it to change the PATH variable; please do check the option.
A reported problem is cmd.fun = shell
might not work under Windows
but cmd.fun = system
works fine. Try this option in case of
failures.
Author(s)
Yihui Xie
References
Examples at https://yihui.org/animation/example/im-convert/
ImageMagick: http://www.imagemagick.org/script/convert.php
GraphicsMagick: http://www.graphicsmagick.org
See Also
Other utilities:
saveGIF()
,
saveHTML()
,
saveLatex()
,
saveSWF()
,
saveVideo()