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

Soh*_*eil 4 png r gif animated-gif

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

小智 9

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

首先使用magick用于 GIF 的magrittr包使用用于 GIF 的包或dplyr%>%

library(magick)
library(magrittr)
Run Code Online (Sandbox Code Playgroud)

然后列出目录下的文件,合并成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
Run Code Online (Sandbox Code Playgroud)


Sté*_*ent 5

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)
Run Code Online (Sandbox Code Playgroud)

优点gifski是GIF中的颜色数量不限于256种。