from: https://blog.csdn.net/hufang360/article/details/107291163?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167876076516800186587476%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167876076516800186587476&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduend~default-1-107291163-null-null.blog_rank_default&utm_term=PNG%E5%BA%8F%E5%88%97%E5%90%88%E6%88%90gif&spm=1018.2226.3001.4450
1. 不是png
图片或者图片是png
格式但没有透明效果的png
图片
ffmpeg
和imagemagick
都可以
ffmpeg -i %04d.png merge.gif orffmpeg -y -i %04d.png -r 12 -filter_complex "[0:v]split[a][b]; [a]palettegen=transparency_color=ffffff[p]; [b][p]paletteuse" merge.gif ormagick -delay 10 -loop 0 '*.png' -set dispose background +repage merge.gif
1. 有透明效果的png
图片
magick -delay 10 -loop 0 '*.png' -set dispose background +repage merge.gif
这是一个使用ImageMagick工具的命令,用于将当前目录下的所有PNG图片合并成一个GIF动画。具体参数解释如下:
- magick: ImageMagick的命令行工具。
- -delay 10: 设置动画的帧延迟为10毫秒。
- -loop 0: 设置动画循环次数为无限次。
- ‘*.png’: 表示当前目录下的所有PNG文件。
- -set dispose background: 设置图像处理方式,当动画帧被替换时,背景会被清除。
- +repage: 调整图像大小以适应目标尺寸,保持宽高比。
- merge.gif: 输出的GIF动画文件名。