Convert Animated GIF Image To WebP
View as MarkdownConverts animated GIF image to WebP format.
Code Snippet
using (var gifReader = new GifReader("Sheep.gif"))
using (var writer = new WebPWriter("ConvertAnimatedGifImageToWebP.webp"))
{
for (int i = 0; i < gifReader.Frames.Count; ++i)
{
writer.FrameOptions.Delay = gifReader.Frames[i].Delay * 10;
var disposalMethod = gifReader.Frames[i].DisposalMethod;
if (disposalMethod == DisposalMethod.None || disposalMethod == DisposalMethod.Background)
{
writer.FrameOptions.DisposalMethod = gifReader.Frames[i].DisposalMethod;
}
writer.FrameOptions.Left = gifReader.Frames[i].Left;
writer.FrameOptions.Top = gifReader.Frames[i].Top;
var bitmap = gifReader.Frames[i].GetBitmap();
bitmap.ColorManagement.Convert(PixelFormat.Format24bppRgb);
Pipeline.Run(bitmap + writer);
}
}
Input
Sheep.gif
Output
ConvertAnimatedGifImageToWebP.webp
Used APIs
- Aurigma.GraphicsMill.Bitmap.ColorManagement
- Aurigma.GraphicsMill.Codecs.DisposalMethod
- Aurigma.GraphicsMill.Codecs.Frame.GetBitmap
- Aurigma.GraphicsMill.Codecs.FrameCollectionBase.Count
- Aurigma.GraphicsMill.Codecs.GifFrame.Delay
- Aurigma.GraphicsMill.Codecs.GifFrame.DisposalMethod
- Aurigma.GraphicsMill.Codecs.GifFrame.Left
- Aurigma.GraphicsMill.Codecs.GifFrame.Top
- Aurigma.GraphicsMill.Codecs.GifReader
- Aurigma.GraphicsMill.Codecs.GifReader.Frames
- Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Delay
- Aurigma.GraphicsMill.Codecs.WebPFrameSettings.DisposalMethod
- Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Left
- Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Top
- Aurigma.GraphicsMill.Codecs.WebPWriter
- Aurigma.GraphicsMill.Codecs.WebPWriter.FrameOptions
- Aurigma.GraphicsMill.ColorManagementProvider.Convert(PixelFormat)