2013-12-09 16 views
10

Uruchomiłem animacje w przeszłości do 2 tygodni temu na Windows 7, R 3.0.1. Dzisiaj załadowałem R 3.0.2 i potrzebowałem pobrać pakiet animacji, aby uruchomić animację. Po robią tak, gdy próbuję uruchomić animację (here is a script) pojawia się następujący błąd:pakiet animacji nie może znaleźć ImageMagick z convert = "convert"

> 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! 

mam ImageMagick zainstalowany i na drodze, jak wykazano w filmie zrobiłem problemu: http://www.youtube.com/watch?v=gvpawqLyCZY&feature=youtu.be

mogę uruchomić convert --version w wierszu poleceń systemu Windows i uzyskać następujące:

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 

jednak działa system("convert --version") rentowności R:

Invalid drive specification. 
Warning message: 
running command 'convert --version' had status 4 

Co robię źle lub czy mogę zmienić, aby pakiet animacji (i R) widział ImageMagick?

Oto dodatkowe informacje o problemie (w linii poleceń R I GET):

> 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

Myślę, że 'cmd.fun = shell' może pozwolić na działanie rzeczy. Jeśli tak, wciąż zastanawiam się, co się zmieniło. Odpowiem z powrotem. –

+0

Myślę, że naprawiliśmy ten problem w wersji rozwojowej, używając 'powłoki' jako domyślnej wartości w systemie Windows: https://github.com/yihui/animation/blob/master/R/im.convert.R#L78 umysł testuje wersję devel na Github? Dzięki! –

Odpowiedz

5

Miałem podobny problem z funkcją {rgl} movie3d(). W takim przypadku można jawnie przekazać ciąg przeliczyć być wykonywane, a więc może „powiedzieć” R gdzie znaleźć prawo 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)

Można zrobić to samo z { animacja} pakiet za pomocą ani.options(), aby określić dokładną lokalizację do convert.exe potrzebne. Zobacz wpis pomocy dla im.convert() w pakiecie {animation}.

+0

UWAGA: wersja ImageMagick-7.0.3-4.x86_64.rpm (i prawdopodobnie niektóre wcześniejsze wersje) nie instaluje domyślnie convert.exe; pamiętaj o zaznaczeniu pola opcji podczas instalacji. –

1

Nie wiem, ile osób o tym wiedzą.

Istnieje już program o nazwie convert w nowszych wersjach okien, który robi coś z systemami plików. Po zainstalowaniu Imagemagick zmieniłem nazwę konwertera IM i użyłem go do wywołania systemowego. Nie korzystałem jeszcze z pakietu animacji, więc nie mogę mówić w najlepszy sposób, aby rozwiązać ten konkretny problem.

+0

Czy odnosisz się do 'convert.exe', które zmienia FAT na NTFS lub na odwrót? Jest inna komenda "convert", która jest częścią ImageMagick (patrz na przykład 'bash man convert') –

+0

To prawda. Miałem problemy z konwersją systemu plików jako domyślną, gdy próbowałem użyć konwertera IM. Inną propozycją zamiast zmiany nazwy konwersji IM byłoby podanie pełnej ścieżki do pliku. Ponieważ jest to w pakiecie animacji, nie jestem zaznajomiony z tym, w jaki sposób jest on używany, a pakiet może używać przypadkowo konwersji plików. – cylondude