将多个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
我在一个目录中有一堆 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