diff --git a/src/ImageSharp/Formats/Gif/ImageExtensions.cs b/src/ImageSharp/Formats/Gif/ImageExtensions.cs
index 7e762d68b..d262b056c 100644
--- a/src/ImageSharp/Formats/Gif/ImageExtensions.cs
+++ b/src/ImageSharp/Formats/Gif/ImageExtensions.cs
@@ -1,8 +1,8 @@
-// Copyright (c) Six Labors.
+// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System.IO;
-
+using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Formats.Gif;
@@ -14,23 +14,87 @@ namespace SixLabors.ImageSharp
public static partial class ImageExtensions
{
///
- /// Saves the image to the given stream in the gif format.
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The file path to save the image to.
+ /// Thrown if the path is null.
+ public static void SaveAsGif(this Image source, string path) => SaveAsGif(source, path, null);
+
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The file path to save the image to.
+ /// Thrown if the path is null.
+ /// A representing the asynchronous operation.
+ public static Task SaveAsGifAsync(this Image source, string path) => SaveAsGifAsync(source, path, null);
+
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The file path to save the image to.
+ /// The encoder to save the image with.
+ /// Thrown if the path is null.
+ public static void SaveAsGif(this Image source, string path, GifEncoder encoder) =>
+ source.Save(
+ path,
+ encoder ?? source.GetConfiguration().ImageFormatsManager.FindEncoder(GifFormat.Instance));
+
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The file path to save the image to.
+ /// The encoder to save the image with.
+ /// Thrown if the path is null.
+ /// A representing the asynchronous operation.
+ public static Task SaveAsGifAsync(this Image source, string path, GifEncoder encoder) =>
+ source.SaveAsync(
+ path,
+ encoder ?? source.GetConfiguration().ImageFormatsManager.FindEncoder(GifFormat.Instance));
+
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// Thrown if the stream is null.
+ public static void SaveAsGif(this Image source, Stream stream) => SaveAsGif(source, stream, null);
+
+ ///
+ /// Saves the image to the given stream with the gif format.
///
/// The image this method extends.
/// The stream to save the image to.
/// Thrown if the stream is null.
- public static void SaveAsGif(this Image source, Stream stream) => source.SaveAsGif(stream, null);
+ /// A representing the asynchronous operation.
+ public static Task SaveAsGifAsync(this Image source, Stream stream) => SaveAsGifAsync(source, stream, null);
///
- /// Saves the image to the given stream in the gif format.
+ /// Saves the image to the given stream with the gif format.
///
/// The image this method extends.
/// The stream to save the image to.
- /// The options for the encoder.
+ /// The encoder to save the image with.
/// Thrown if the stream is null.
public static void SaveAsGif(this Image source, Stream stream, GifEncoder encoder) =>
source.Save(
stream,
encoder ?? source.GetConfiguration().ImageFormatsManager.FindEncoder(GifFormat.Instance));
+
+ ///
+ /// Saves the image to the given stream with the gif format.
+ ///
+ /// The image this method extends.
+ /// The stream to save the image to.
+ /// The encoder to save the image with.
+ /// Thrown if the stream is null.
+ /// A representing the asynchronous operation.
+ public static Task SaveAsGifAsync(this Image source, Stream stream, GifEncoder encoder) =>
+ source.SaveAsync(
+ stream,
+ encoder ?? source.GetConfiguration().ImageFormatsManager.FindEncoder(GifFormat.Instance));
}
-}
\ No newline at end of file
+}