我有一个目录中的一堆png文件,想要通过R将它们转换成gif(动画)文件。请问您如何操作?
这里是一些您可以使用的虚拟代码:
首先使用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
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。
gifski
比magick
快得多。 - Drumy