将多个png转换为gif作为R中的动画

Convert multiple png to gif as an animation in R

我在一个目录中有一堆 png 文件,我想通过 R 将它们转换成 gif(动画)文件。你能告诉我怎么做吗?

这里有一些你可以使用的虚拟代码:

首先使用 GIF 的 magick 包 使用 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

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