You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PNG图片转换为GIF格式并制作动画GIF?

解决PNG转GIF动画的问题

你的代码里不需要空的foreach循环,UnFreezWrapper的MakeGIF方法本身就支持批量传入图片文件列表。主要需要修正两个点:筛选PNG格式文件,以及确保图片顺序符合预期。

修正后的代码

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using unfreez_wrapper;

namespace Animated_Gif
{
    public partial class Form1 : Form
    {
        UnFreezWrapper unfreez;

        public Form1()
        {
            InitializeComponent();

            // 仅获取文件夹中的PNG格式文件
            var pngFiles = Directory.GetFiles(@"D:\New folder (3)", "*.png")
                                    // 按文件名排序,保证帧播放顺序正确
                                    .OrderBy(file => Path.GetFileName(file))
                                    .ToList();

            // 初始化工具并生成GIF动画
            unfreez = new UnFreezWrapper();
            // 参数说明:图片列表、输出路径、单帧延迟(毫秒)、是否循环播放
            unfreez.MakeGIF(pngFiles, @"d:\anim.gif", 1000, true);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

关键说明

  • 筛选PNG文件:在Directory.GetFiles中添加第二个参数"*.png",只获取目标格式图片,避免传入无关文件导致转换失败。
  • 排序文件:通过OrderBy按文件名排序,确保GIF的播放顺序和你预期的一致(比如按数字序号命名的图片能按顺序播放)。
  • 移除无用循环:原代码中的空foreach循环完全多余,MakeGIF方法会自动批量处理传入的文件列表。

内容的提问来源于stack exchange,提问作者Daniel Lip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 14:24:55