是否可以使用ImageSharp从.net core2中的某些jpeg创建一个gif?
我可以使用Magick.Net从一些jpeg创建一个gif,但它确实不适用于Linux。
我想在Ubuntu 14上这样做。
修改
我可以使用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();
}
答案 0 :(得分:11)
ImageFrame<T>
到第一张图片上的Frames
属性。将图像另存为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());
}