LEADTOOLS Image File Support (Leadtools.Codecs assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CodecsGifOptions Class
See Also  Members  
Leadtools.Codecs Namespace : CodecsGifOptions Class



Provides extra options for loading and saving GIF images.

Object Model

CodecsGifOptions ClassCodecsGifLoadOptions ClassCodecsGifSaveOptions Class

Syntax

Visual Basic (Declaration) 
Public Class CodecsGifOptions 
Visual Basic (Usage)Copy Code
Dim instance As CodecsGifOptions
C# 
public class CodecsGifOptions 
C++/CLI 
public ref class CodecsGifOptions 

Example

Visual BasicCopy Code
Public Sub CodecsGifOptionsExample()
      Dim codecs As RasterCodecs = New RasterCodecs()
      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "eye.gif")

      ' Get all Information about the Gif file that you want to load.
      Dim imageInfo As CodecsImageInfo = codecs.GetInformation(srcFileName, True)

      ' set the animation loop value. 
      If imageInfo.Gif.HasAnimationLoop Then
         codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop
         If imageInfo.Gif.AnimationLoop > 10 Then
            codecs.Options.Gif.Save.AnimationLoop = 10
         End If
      End If

      ' if this image that you want to load uses the Animation loop then use it in the save options.
      codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop

      ' if this image that you want to load uses the Animation Background then use it in the save options.
      If imageInfo.Gif.HasAnimationBackground Then
         codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground
      End If

      ' if this image that you want to load uses the Animation Palette then use it in the save options.
      If imageInfo.Gif.HasAnimationPalette Then
         codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette())
      End If

      codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette

      ' if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
      codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced

      codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth
      codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight

      Dim srcImage As RasterImage = codecs.Load(srcFileName)

      codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "gif1.gif"), RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

      'change some save options and save the image in a new file.
      codecs.Options.Gif.Save.UseAnimationLoop = True
      codecs.Options.Gif.Save.AnimationLoop = 1
      codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100
      codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100

      'Saving the image after the Gif setting.
      codecs.Save(srcImage, Path.Combine(LEAD_VARS.ImagesDir, "gif2.gif"), RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

      ' Clean up
      srcImage.Dispose()
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void CodecsGifOptionsExample()
   {
      RasterCodecs codecs = new RasterCodecs();
      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "eye.gif");

      // Get all Information about the Gif file that you want to load.
      CodecsImageInfo imageInfo = codecs.GetInformation(srcFileName, true);

      // set the animation loop value. 
      if (imageInfo.Gif.HasAnimationLoop)
      {
         codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop;
         if (imageInfo.Gif.AnimationLoop > 10)
            codecs.Options.Gif.Save.AnimationLoop = 10;
      }

      // if this image that you want to load uses the Animation loop then use it in the save options.
      codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop;

      // if this image that you want to load uses the Animation Background then use it in the save options.
      if (imageInfo.Gif.HasAnimationBackground)
         codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground;

      // if this image that you want to load uses the Animation Palette then use it in the save options.
      if (imageInfo.Gif.HasAnimationPalette)
         codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette());

      codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette;

      // if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
      codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced;

      codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth;
      codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight;

      RasterImage srcImage = codecs.Load(srcFileName);

      codecs.Save(srcImage,  Path.Combine(LEAD_VARS.ImagesDir, "gif1.gif"), RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

      //change some save options and save the image in a new file.
      codecs.Options.Gif.Save.UseAnimationLoop = true;
      codecs.Options.Gif.Save.AnimationLoop = 1;
      codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100;
      codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100;

      //Saving the image after the Gif setting.
      codecs.Save(srcImage,  Path.Combine(LEAD_VARS.ImagesDir, "gif2.gif"), RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

      // Clean up
      srcImage.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CodecsGifOptionsExample(Stream inStreamGif, Stream outStreamGif1, Stream outStreamGif2)
{
   RasterCodecs codecs = new RasterCodecs();
   // Get all Information about the Gif file that you want to load.
   CodecsImageInfo imageInfo = codecs.GetInformation(inStreamGif, true);

   // set the animation loop value. 
   if (imageInfo.Gif.HasAnimationLoop)
   {
      codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop;
      if (imageInfo.Gif.AnimationLoop > 10)
         codecs.Options.Gif.Save.AnimationLoop = 10;
   }

   // if this image that you want to load uses the Animation loop then use it in the save options.
   codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop;

   // if this image that you want to load uses the Animation Background then use it in the save options.
   if (imageInfo.Gif.HasAnimationBackground)
      codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground;

   // if this image that you want to load uses the Animation Palette then use it in the save options.
   if (imageInfo.Gif.HasAnimationPalette)
      codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette());

   codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette;

   // if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
   codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced;

   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth;
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight;

   RasterImage srcImage = codecs.Load(inStreamGif);

   codecs.Save(srcImage, outStreamGif1, RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

   //change some save options and save the image in a new file.
   codecs.Options.Gif.Save.UseAnimationLoop = true;
   codecs.Options.Gif.Save.AnimationLoop = 1;
   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100;
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100;

   //Saving the image after the Gif setting.
   codecs.Save(srcImage, outStreamGif2, RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite);

   // Clean up
   srcImage.Dispose();
}
SilverlightVBCopy Code
Public Sub CodecsGifOptionsExample(ByVal inStreamGif As Stream, ByVal outStreamGif1 As Stream, ByVal outStreamGif2 As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Get all Information about the Gif file that you want to load.
   Dim imageInfo As CodecsImageInfo = codecs.GetInformation(inStreamGif, True)

   ' set the animation loop value. 
   If imageInfo.Gif.HasAnimationLoop Then
      codecs.Options.Gif.Load.AnimationLoop = imageInfo.Gif.AnimationLoop
      If imageInfo.Gif.AnimationLoop > 10 Then
         codecs.Options.Gif.Save.AnimationLoop = 10
      End If
   End If

   ' if this image that you want to load uses the Animation loop then use it in the save options.
   codecs.Options.Gif.Save.UseAnimationLoop = imageInfo.Gif.HasAnimationLoop

   ' if this image that you want to load uses the Animation Background then use it in the save options.
   If imageInfo.Gif.HasAnimationBackground Then
      codecs.Options.Gif.Save.AnimationBackground = imageInfo.Gif.AnimationBackground
   End If

   ' if this image that you want to load uses the Animation Palette then use it in the save options.
   If imageInfo.Gif.HasAnimationPalette Then
      codecs.Options.Gif.Save.SetAnimationPalette(imageInfo.Gif.GetAnimationPalette())
   End If

   codecs.Options.Gif.Save.UseAnimationPalette = imageInfo.Gif.HasAnimationPalette

   ' if this image that you want to load uses the Intrlaced option, then use it otherwise don't use it.
   codecs.Options.Gif.Save.Interlaced = imageInfo.Gif.IsInterlaced

   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight

   Dim srcImage As RasterImage = codecs.Load(inStreamGif)

   codecs.Save(srcImage, outStreamGif1, RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

   'change some save options and save the image in a new file.
   codecs.Options.Gif.Save.UseAnimationLoop = True
   codecs.Options.Gif.Save.AnimationLoop = 1
   codecs.Options.Gif.Save.AnimationWidth = imageInfo.Gif.AnimationWidth + 100
   codecs.Options.Gif.Save.AnimationHeight = imageInfo.Gif.AnimationHeight + 100

   'Saving the image after the Gif setting.
   codecs.Save(srcImage, outStreamGif2, RasterImageFormat.Gif, srcImage.BitsPerPixel, 1, srcImage.PageCount, 1, CodecsSavePageMode.Overwrite)

   ' Clean up
   srcImage.Dispose()
End Sub

Inheritance Hierarchy

System.Object
   Leadtools.Codecs.CodecsGifOptions

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also