---
title: "Convert Animated GIF Image To WebP"
canonical: https://www.graphicsmill.com/samples/Codecs/WebP/ConvertAnimatedGifImageToWebP_cs
product: "Graphics Mill"
source: "Codecs/WebP/ConvertAnimatedGifImageToWebP.cs"
---

# Convert Animated GIF Image To WebP

Converts animated GIF image to WebP format.

## Instruction

Converts an animated GIF image to WebP format, preserving frame delay and positioning.

## Usings

```csharp
using Aurigma.GraphicsMill.Codecs;
```

## Code Snippet

```csharp
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);
    }
}
```

## Explanation

The following code:

- Opens an animated GIF file.
- Iterates through each frame of the GIF.
- Sets WebP frame options including delay (converted from hundredths to milliseconds), disposal method, and frame position.
- Converts each frame to 24bpp RGB format.
- Saves the frames to a WebP animation using `Pipeline.Run()` for memory-efficient processing.

## Tags

- [Format Conversion](<https://www.graphicsmill.com/samples/tags/format-conversion_md>): Converting images between formats
- [GIF](<https://www.graphicsmill.com/samples/tags/gif_md>): Reading, writing and animating GIFs
- [Multiple frames](<https://www.graphicsmill.com/samples/tags/multi-frame_md>): Handling multi-frame image formats
- [Pipeline](<https://www.graphicsmill.com/samples/tags/pipeline_md>): Working with images via the Pipeline API
- [WEBP](<https://www.graphicsmill.com/samples/tags/webp_md>): Reading and writing WebP images

## Input

- [Sheep.gif](<https://www.graphicsmill.com/samples/Codecs/compiled/Debug/Sheep_gif>) (preview)

## Output

- [ConvertAnimatedGifImageToWebP.webp](<https://www.graphicsmill.com/samples/Codecs/compiled/Debug/ConvertAnimatedGifImageToWebP_webp>) (preview)

## Used APIs

- [Aurigma.GraphicsMill.Bitmap.ColorManagement](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Bitmap_ColorManagement.htm.md>)
- [Aurigma.GraphicsMill.Codecs.DisposalMethod](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_DisposalMethod.htm.md>)
- [Aurigma.GraphicsMill.Codecs.Frame.GetBitmap](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_Frame_GetBitmap.htm.md>)
- [Aurigma.GraphicsMill.Codecs.FrameCollectionBase.Count](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_FrameCollectionBase_Count.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifFrame.Delay](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_GifFrame_Delay.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifFrame.DisposalMethod](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_GifFrame_DisposalMethod.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifFrame.Left](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_GifFrame_Left.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifFrame.Top](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_GifFrame_Top.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifReader](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_GifReader.htm.md>)
- [Aurigma.GraphicsMill.Codecs.GifReader.Frames](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_GifReader_Frames.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Delay](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_WebPFrameSettings_Delay.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPFrameSettings.DisposalMethod](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_WebPFrameSettings_DisposalMethod.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Left](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_WebPFrameSettings_Left.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPFrameSettings.Top](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_WebPFrameSettings_Top.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPWriter](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_WebPWriter.htm.md>)
- [Aurigma.GraphicsMill.Codecs.WebPWriter.FrameOptions](<https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Codecs_WebPWriter_FrameOptions.htm.md>)
- [Aurigma.GraphicsMill.ColorManagementProvider.Convert(PixelFormat)](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_ColorManagementProvider_Convert_1_3e209c07.htm.md>)
