将多个PNG图像转换为GIF格式作为R语言动画

8

我有一个目录中的一堆png文件,想要通过R将它们转换成gif(动画)文件。请问您如何操作?

2个回答

13

这里是一些您可以使用的虚拟代码:

首先使用magick包处理GIF图像,使用magrittr包或dplyr包的%>%操作符。

library(magick)
library(magrittr)

接着列出目录中的文件,然后将它们组合成 GIF。其中 fps 指的是每秒帧数。

list.files(path='/$PATH/', pattern = '*.png', full.names = TRUE) %>% 
        image_read() %>% # reads each path file
        image_join() %>% # joins image
        image_animate(fps=4) %>% # animates, can opt for number of loops
        image_write("FileName.gif") # write to current dir

7
一个使用 gifski 包的解决方案:
library(gifski)
png_files <- list.files("path/to/your/pngs/", pattern = ".*png$", full.names = TRUE)
gifski(png_files, gif_file = "animation.gif", width = 800, height = 600, delay = 1)
gifski 的优点在于 GIF 中颜色的数量不再受限于 256。

使用数百个帧,我发现 gifskimagick 快得多。 - Drumy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接