有没有办法在不使用ImageMagick或其他第三方软件的情况下在R中制作GIF?

时间:2016-12-27 18:53:06

标签: r imagemagick gif

我一直在尝试从生成并保存在R中的图表生成GIF。使用 ImageMagick 的当前系统非常不方便。 R还有其他可以创建GIF的其他方式或包吗?我已经研究了堆栈溢出,并且只发现了涉及 ImageMagick 的响应。

2 个答案:

答案 0 :(得分:1)

没有R内置的方法来制作GIF(据我所知)并不依赖于外部库将保存为单帧的图像转换为gif。

对于转换,ImageMagick可能是最常见的,但您也可以使用其他工具。 The animation package系统要求建议您也可以将其与GraphicsMagick甚至LyX一起使用,或者您可以手动(或以编程方式,如果您可以推送自己的API)使用任意数量的online tools }。

答案 1 :(得分:0)

您没有提及您的操作系统,也不是指简单的单帧GIF或动画GIF。如果你只想要简单的GIF,你可以使用 NetPBM 包,它比 ImageMagick 重量更轻,更容易安装。

因此,假设您有一个名为input.png的PNG文件,并且您希望将其转换为名为result.gif的GIF,则可以执行以下操作:

pngtopam < input.png | pamtogif > result.gif

如果您想从R内部执行此操作,则需要使用system()命令:

system("pngtopam < input.png | pamtogif > result.gif")

正如您可能看到的那样, NetPBM 将所有输入转换为其自己的标准最低公分母PAM格式,并从那里转换为所有已知的输出格式,因此只需要2N之间的转换N格式支持而不是N ^ 2转换 - 甜蜜!

所以,对于64种格式:

64^2=4,096   (conversions to write)

,而

2x64=128     (conversions to write)