在动画包中找不到使用SaveGIF函数的'convert'

时间:2011-05-25 23:58:34

标签: r animation ubuntu

我在库(动画)中遇到了SaveGIF函数的问题。该函数给出了这个错误:

  

cmd.fun中的错误(sprintf(“%s - version”,convert),intern = TRUE,ignore.stdout =!interactive(),:
    未使用的参数(ignore.stdout =!interactive())
  我无法使用convert ='convert'找到ImageMagick   NULL
  警告信息:
  在im.convert中(img.files,output = movie.name,convert = convert,:
    请先安装ImageMagick或将其bin路径放入系统PATH变量

让我感到困惑的是,我确实在我的系统上进行了转换,因此我希望SaveGIF能够毫无困难地找到它:

  

me @ my-laptop:〜$ convert --version

     

版本:ImageMagick 6.5.7-8 2010-12-02 Q16 http://www.imagemagick.org
  版权:版权所有(C)1999-2009

如何将convert的bin路径添加到系统PATH变量?

编辑:我使用的是Ubuntu,而不是Windows。

4 个答案:

答案 0 :(得分:2)

您可能没有编辑PATH变量。在Windows 7上(但可能适用于早期版本)转到:

开始菜单

右键单击计算机 - >属性

高级系统设置

环境变量

然后在“系统变量”(下部窗格)下找到变量“path”,选择它 然后单击编辑。

您对变量值的内容感兴趣(可能将其复制到文本编辑器以更好地阅读它)。它应包含imagemagick中的链接,由其他变量的分号分隔。对我来说,imagemagick的路径是:

C:\ Program Files \ ImageMagick-6.6.7-Q16

确保只添加它,而不是将任何其他内容更改为路径变量。用分号添加它。

答案 1 :(得分:2)

通常我们不需要在Linux下手动设置PATH变量。我也在使用Ubuntu,但我无法重现你的错误。你的R版本是什么?

> sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] animation_2.0-4    

据我所知,错误来自函数system(),而不是找不到convert。参数ignore.stdout来自R 2.12.1,因此您必须使用较低版本的R。当前版本是2.13.0,我建议您升级到最新版本。有关如何使用CRAN更新R,请参阅http://cran.r-project.org/bin/linux/ubuntu/

答案 2 :(得分:1)

您可以使用system("which convert", intern=TRUE)找到转换函数的位置,然后您(或许可以)使用

将其添加到PATH变量中

Sys.setenv(PATH=...)

答案 3 :(得分:0)

尝试所有这些修补程序以及thesethese都没有成功后,我使用了替代软件从使用saveHTML成功创建的png文件进行转换。描述了几个程序here。我是Windows用户,发现VirtualDub网站中包含的简单说明很快完成了这项任务。