public bool PickSamePalette { get; set; }
Value that indicates whether to generate a unique global palette for all GIF frames or generate a separate palette for each frame. Possible values are:
| Value | Description |
|---|---|
| true | Generate a unique global palette for all GIF Frames. |
| false | Generate an individual palette for each GIF Frame. |
This example will optimize a Gif image file and then save it to a separate folder
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageOptimization;public void TestGifImageOptimizer(){// Initialize the RasterCodecs classRasterCodecs codecs = new RasterCodecs();// The input and output locationstring inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "eye.gif");string outputFolder = Path.Combine(LEAD_VARS.ImagesDir, "OptimizedImages");// Initialize a new Optimizer objectImageOptimizer optimizer = new ImageOptimizer();// Optimization OptionsImageOptimizerOptions options = ImageOptimizerOptions.Default;// Set custom optimization optionsoptions.Distance = 20;options.Percent = 15;options.PickSamePalette = true;// Load the input file into a byte memory arraybyte[] orgBuffer = File.ReadAllBytes(inputFileName);// Optimize this bufferbyte[] optBuffer = optimizer.OptimizeBuffer(codecs, orgBuffer, 0, orgBuffer.Length, options, null);// Save this image into the output folder// Make sure the output folder existsif (!Directory.Exists(outputFolder))Directory.CreateDirectory(outputFolder);// Get the name of the output file from the input filestring outputFileName = Path.Combine(outputFolder, Path.GetFileName(inputFileName));// Save the optimized buffer to the output fileusing (FileStream fs = File.Create(outputFileName))fs.Write(optBuffer, 0, optBuffer.Length);// Compare the original image size with the optimized sizelong orgSize = new FileInfo(inputFileName).Length;long optSize = new FileInfo(outputFileName).Length;int percentage = (int)((double)optSize * 100.0 / orgSize);string message = string.Format("Original image size: {0} KB{1}Optimized image size: {2} KB{1}Percentage: {3}%",orgSize / 1024, Environment.NewLine, optSize / 1024,100 - percentage);MessageBox.Show(message);//shutdown the RasterCodecs class.}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}