如何使用 ImageSharp 创建 Gif .net Core2

How to create Gif .net Core2 , with ImageSharp

是否有任何方法可以使用 ImageSharp 从 .net core2 中的某些 jpeg 创建 gif?

我可以使用 Magick.Net 从一些 jpeg 文件创建 gif,但它在 Linux 上不起作用。

我想在 Ubuntu 14 日做这个

EDIT

我可以使用 ImageSharp 从 Jpegs 创建 Gif。这是我的源代码:

        var ite = fsArray.GetEnumerator(); // fsArray is FileStream Array
        ite.MoveNext();
        using (var image1 = Image.Load(ite.Current.Name))
        {
            image1.Mutate(x => x.Resize(width, height));

            // loop
            while (ite.MoveNext())
            {
                using (var image2 = Image.Load(ite.Current.Name))
                {
                    image2.Mutate(x => x.Resize(width, height));
                    image2.Frames.First().MetaData.FrameDelay = interval;
                    image1.Frames.AddFrame(image2.Frames.First());
                }
            }
            msGif = new FileStream("result.gif", FileMode.CreateNew);
            var gifEnc = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
            image1.Save(msGif, gifEnc);
            msGif.Close();
        }
  1. 加载你的两张图片
  2. 将第二张图片的第一帧(缩放后)作为 ImageFrame<T> 添加到第一张图片的 Frames 属性。
  3. 将输出图像保存为 gif。

将图像保存为 gif 时会自动进行量化。目前将为每一帧生成一个单独的调色板。

using (var image1 = Image.Load(instream1))
using (var image2 = Image.Load(instream2))
{
  image2.Mutate(x => x.Resize(image1.Width, image1.Height));
  image1.Frames.AddFrame(image2.Frames[0]);

  image1.Save(outstream, new GifEncoder());
}