我在过去2周前在Windows 7,R 3.0.1上运行过动画。今天我加载了R 3.0.2并需要下载动画包来运行制作动画。在我尝试运行动画(here is a script)之后,我收到以下错误:
> saveGIF(FUN2(), interval = 0.1, outdir = "images/animate")
I cannot find ImageMagick with convert = "convert"
NULL
Warning messages:
1: running command 'convert --version' had status 4
2: In im.convert(img.files, output = movie.name, convert = convert, :
ImageMagick not installed yet!
我安装了ImageMagick并在路径上,如我在问题视频中所示:http://www.youtube.com/watch?v=gvpawqLyCZY&feature=youtu.be
我可以在Windows命令行中运行convert --version
并获取以下内容:
C:\Users\trinker>convert --version
Version: ImageMagick 6.8.6-8 2013-08-04 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: bzlib djvu fftw fontconfig freetype jng jp2 jpeg lcms lzma openexr pa
ngo png ps tiff webp x xml zlib
然而在R中运行system("convert --version")
会产生:
Invalid drive specification.
Warning message:
running command 'convert --version' had status 4
我做错了什么,或者我可以改变以使动画包(和R)看到ImageMagick?
以下是该问题的其他信息(在我得到的R命令行中):
> system("convert -version")
Invalid drive specification.
Warning message:
running command 'convert -version' had status 4
> shell("convert --version")
Version: ImageMagick 6.8.7-9 Q16 x64 2013-11-28 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps tiff webp xml zlib
答案 0 :(得分:5)
{rgl} movie3d()
函数存在类似问题。在这种情况下,您可以显式传递要执行的转换字符串,因此可以“告诉”R在哪里找到正确的convert.exe
:
imconvertstring<-"\"c:\\Program Files\\ImageMagick-6.9.0-Q16\\convert.exe\" -delay 1x%d %s*.png %s.%s"
movie3d(spin3d(),duration=10,convert=imconvertstring)
您可以使用ani.options()
对{animation}包执行相同操作,以指定所需的convert.exe
的确切位置。请参阅{animation}包中的im.convert()
的帮助条目。
答案 1 :(得分:1)
我不知道有多少人知道这一点。
在较新版本的Windows中已经存在一个名为convert的程序,它可以处理文件系统。安装Imagemagick后,我重命名了IM转换器并使用它来进行系统调用。我还没有使用动画包,所以我不能说出解决这个特定问题的最佳方法。