Class GifImage

Class GifImage

Namn på plats: Aspose.Imaging.FileFormats.Gif Församling: Aspose.Imaging.dll (25.4.0)

API för Graphical Interchange Format (GIF) bildfil gerutvecklare med mångsidiga verktyg för bearbetning av komprimerade rasterbilder ochanimerade GIF. erbjuder funktioner som XMP metadata hantering, färgpalettinställningar, bakgrund och transparent färgkontroll, opacity inställningar, resize,grödor, filteransökan, gamma korrigeringar, kontrastjustering, grayscaleomvandling och omvandling till andra format. Denna API möjliggör trådlösmanipulation och förbättring av GIF-bilder för ett brett utbud av applikationer.

[JsonObject(MemberSerialization.OptIn)]
public sealed class GifImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage RasterCachedMultipageImage GifImage

Implements

IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage

Arvsmedlemmar

RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Exportera en del av animationen från GIF-bilden baserat på tidsintervall.

using (var image = Image.Load("Animation.gif"))
                                                                             {
                                                                                 var options = new GifOptions
                                                                                 {
                                                                                     FullFrame = true,
                                                                                     MultiPageOptions = new MultiPageOptions
                                                                                     {
                                                                                         Mode = MultiPageMode.TimeInterval,
                                                                                         TimeInterval = new TimeInterval(0, 400)
                                                                                     }
                                                                                 };

                                                                                 image.Save("PartOfAnimation.gif", options);
                                                                             }

Detta exempel visar hur man skapar en GIF-bild och sparar den i en fil.

string dir = "c:\\temp\\";

                                                                              // Create a GIF Frame block of 100x100 px.
                                                                              using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                              {
                                                                                  // Fill the entire block in red.
                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
                                                                                  Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
                                                                                  gr.FillRectangle(brush, firstBlock.Bounds);

                                                                                  using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                  {
                                                                                      gifImage.Save(dir + "output.gif");
                                                                                  }
                                                                              }

Skapa flersidiga GIF-bilder med hjälp av en enda sida rasterbilder.

static void Main(string[] args)
                                                                      {
                                                                          // Load frames
                                                                          var frames = LoadFrames("Animation frames").ToArray();

                                                                          // Create GIF image using the first frame
                                                                          using (var image = new GifImage(new GifFrameBlock(frames[0])))
                                                                          {
                                                                              // Add frames to the GIF image using the AddPage method
                                                                              for (var index = 1; index < frames.Length; index++)
                                                                              {
                                                                                  image.AddPage(frames[index]);
                                                                              }

                                                                              // Save GIF image
                                                                              image.Save("Multipage.gif");
                                                                          }
                                                                      }

                                                                      private static IEnumerable<rasterimage> LoadFrames(string directory)
                                                                      {
                                                                          foreach (var filePath in Directory.GetFiles(directory))
                                                                          {
                                                                              yield return (RasterImage)Image.Load(filePath);
                                                                          }
                                                                      }</rasterimage>

Constructors

GifImage(GifFrameBlock och IColorPalette)

Starta ett nytt Aspose.Imaging.FileFormats.Gif.GifImage objekt med angivna parametrar förförsta ram och global palett. Börja hantera GIF-bilder snabbt, säkerställaexakt representation med anpassningsbara inställningar för optimala resultat.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Den första ramen för att initialisera gif-bilden med.

globalPalette IColorPalette

Observera att om både firstFrame’ och globalPalette’ är noll används standard globala paletten.

Examples

Detta exempel visar hur man skapar en GIF-bild med en anpassad palett och sparar den till en fil.

string dir = "c:\\temp\\";

                                                                                                    // Create a GIF Frame block of 100x100 px.
                                                                                                    using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                                                    {
                                                                                                        // Fill the entire block in red.
                                                                                                        Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
                                                                                                        Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
                                                                                                        gr.FillRectangle(brush, firstBlock.Bounds);

                                                                                                        // Use 4-bit palette to reduce the image size. The quality can get worse.
                                                                                                        Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.Create4Bit();

                                                                                                        using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock, palette))
                                                                                                        {
                                                                                                            gifImage.Save(dir + "output.gif");
                                                                                                        }
                                                                                                    }

Exceptions

ArgumentNullException

firstFrame’ kan inte vara noll

ArgumentException

firstFrame’ tillhör redan någon annan bild.

GifImageException

Den globalPalette’ angivna bör innehålla antalet entréer lika med effekt 2. Minimal palettstorlek är 2, maximal är 256.

GifImage(GifFrameBlock)

Att skapa GIF-bilder blir jobbigt med Aspose.Imaging.FileFormats.Gif.GifImagemed bara den första Frame-parametern går den in i en värld av dynamikvisuell kommunikation .

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Den första ramen för att initialisera gif-bilden med.

Examples

Detta exempel visar hur man skapar en GIF-bild och sparar den i en fil.

string dir = "c:\\temp\\";

                                                                              // Create a GIF Frame block of 100x100 px.
                                                                              using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                              {
                                                                                  // Fill the entire block in red.
                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
                                                                                  Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
                                                                                  gr.FillRectangle(brush, firstBlock.Bounds);

                                                                                  using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                  {
                                                                                      gifImage.Save(dir + "output.gif");
                                                                                  }
                                                                              }

Följande exempel visar hur man komponerar en animerad GIF-bild från enskilda GIF-block.

string dir = "c:\\temp\\";

                                                                                                       // Create a GIF image 100 x 100 px.
                                                                                                       // The first block is fully black by default.
                                                                                                       using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                                                       using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                                       {
                                                                                                           // The first circle is red
                                                                                                           Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

                                                                                                           // The second circle is black
                                                                                                           Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

                                                                                                           // Gradually inscrease the angle of the red arc shape.
                                                                                                           for (int angle = 10; angle &lt;= 360; angle += 10)
                                                                                                           {
                                                                                                               Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);

                                                                                                               Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
                                                                                                               gr.FillPie(brush1, block.Bounds, 0, angle);

                                                                                                               gifImage.AddBlock(block);
                                                                                                           }

                                                                                                           // Gradually inscrease the angle of the black arc and wipe out the red arc.
                                                                                                           for (int angle = 10; angle &lt;= 360; angle += 10)
                                                                                                           {
                                                                                                               Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);

                                                                                                               Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
                                                                                                               gr.FillPie(brush2, block.Bounds, 0, angle);
                                                                                                               gr.FillPie(brush1, block.Bounds, angle, 360 - angle);

                                                                                                               gifImage.AddBlock(block);
                                                                                                           }

                                                                                                           gifImage.Save(dir + "animated_radar.gif");
                                                                                                       }

Exceptions

ArgumentNullException

firstFrame’ kan inte vara noll

ArgumentException

firstFrame’ tillhör redan någon annan bild.

GifImageException

Den angivna paletten måste innehålla antalet entréer som motsvarar kraften av 2. Minimal palettstorlek är 2, maximal är 256.

GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)

Börja utan ansträngning med Aspose.Imaging.FileFormats.Gif.GifImage konstruktor.enkel metod, kan du dyka in i att skapa animerade GIF med lätthet.firstFrame, globalPalette, paletteColorResolution, aspectRatio, och andraparametrar, och du är redo att föra dina visualer till liv.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette, bool isPaletteSorted, byte paletteColorResolution, byte paletteBackgroundColorIndex, byte aspectRatio, bool hasTrailer)

Parameters

firstFrame GifFrameBlock

Den första ramen för att initialisera gif-bilden med.

globalPalette IColorPalette

Observera att om både firstFrame’ och globalPalette’ är noll används standard globala paletten.

isPaletteSorted bool

Observera att parametrarna används när globalPalette" inte är noll.

paletteColorResolution byte

Notera att parametern används när globalPalette’ inte är noll.

paletteBackgroundColorIndex byte

Palett bakgrundsfärgindex.

aspectRatio byte

Aspekten av förhållandet.

hasTrailer bool

om inställd till ’true’ gif-bilden har trailer annars ingen trailer skriven i slutet av strömmen.

Exceptions

ArgumentNullException

firstFrame’ kan inte vara noll

ArgumentException

firstFrame’ tillhör redan någon annan bild.

GifImageException

Den globalPalette’ angivna bör innehålla antalet entréer lika med effekt 2. Minimal palettstorlek är 2, maximal är 256.

Properties

ActiveFrame

Hantera och manipulera ramar med denna egenskap, vilket möjliggör smidig navigation ochändring av den aktiva ramen inom GIF-bilden.

public GifFrameBlock ActiveFrame { get; set; }

Fastighetsvärde

GifFrameBlock

Examples

Följande exempel visar hur man tar bort alla block från en GIF-bild.

using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                                 using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                 {
                                                                                     if (gifImage.ActiveFrame != null)
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
                                                                                     }
                                                                                     else
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame is not set");
                                                                                     }

                                                                                     System.Console.WriteLine("Clear all the blocks");
                                                                                     gifImage.ClearBlocks();

                                                                                     if (gifImage.ActiveFrame != null)
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
                                                                                     }
                                                                                     else
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame is not set");
                                                                                     }
                                                                                 }

                                                                                 // The output looks like this:
                                                                                 // Active frame size: { Width = 100, Height = 100}
                                                                                 // Clear all the blocks
                                                                                 // Active frame is not set

BackgroundColor

Hantera bakgrundsfärgen på GIF-bilden med denna egenskap. du kan ställa in elleråterhämta bakgrundsfärgen för att säkerställa konsistens och förbättra visuell attraktion.

public override Color BackgroundColor { get; set; }

Fastighetsvärde

Color

BackgroundColorIndex

Kontrollera bakgrundsfärgindexet för GIF-bilden med hjälp av denna egenskap.hämta indexet för att upprätthålla konsistens eller uppnå önskade visuella effekter.

public byte BackgroundColorIndex { get; set; }

Fastighetsvärde

byte

Blocks

Få tillgång till GIF-blockorna smidigt med denna fastighet, vilket gör det enkeltåterhämtning och manipulering av bildens underliggande datastrukturer.

public IGifBlock[] Blocks { get; }

Fastighetsvärde

IGifBlock [ ]

FileFormat

Återställa filformat utan ansträngning med denna egenskap. det är din go-to källaför att identifiera formatet för dina filer. helt integrerad i din arbetsflöde,Det ger viktig information utan hassle.

public override FileFormat FileFormat { get; }

Fastighetsvärde

FileFormat

HasBackgroundColor

Denna egenskap bestämmer om GIF-bilden innehåller en bakgrundsfärg.Det visar att bilden innehåller en bakgrundsfärg.

public override bool HasBackgroundColor { get; }

Fastighetsvärde

bool

HasTrailer

Hantera närvaron av en trailer i dina GIF-filer med denna egendom.måste kontrollera om en trailer existerar eller ställer in dess närvaro, denna egendom förenklarHåll dina GIF-filer strukturerade och i överensstämmelse med denna intuitiva funktion.

public bool HasTrailer { get; set; }

Fastighetsvärde

bool

HasTransparentColor

Bestäm om den aktiva ramen för GIF-bilden innehåller en transparent färg.Denna fastighet ger ett bekvämt sätt att kontrollera transparens inom bilden.

public override bool HasTransparentColor { get; set; }

Fastighetsvärde

bool

ImageOpacity

Återställa opaciteten i den aktiva ramen inom bilden, vilket ger insikt idess öppenhetsnivå. denna egendom är särskilt användbar för att förstågraden av öppenhet eller opakens av den aktiva ramen i bilden.

public override float ImageOpacity { get; }

Fastighetsvärde

float

IsInterlaced

Bestämmer om bilden är länkad, vilket påverkar dess display under laddning.egendom ger insikt i bildens renderande beteende, som är nödvändigt förOptimera laddningsstrategier och förbättra den övergripande tittarupplevelsen.

public bool IsInterlaced { get; }

Fastighetsvärde

bool

IsPaletteSorted

Kontrollera sortering av paletten i dina GIF-bilder med hjälp av denna egenskap.du måste kontrollera om paletten är sorterad eller ställa in sortering beteende, dettafastighet ger ett enkelt sätt att hantera palettorganisationen i dinGif filer .

public bool IsPaletteSorted { get; set; }

Fastighetsvärde

bool

LoopsCount

Återställa loop räkning utan ansträngning med denna egenskap. Om din GIF-bild innehållerloop information, denna fastighet ger dig snabb tillgång till loop räkning, möjliggörDu för att smidigt hantera loopning beteende i dina GIF-filer.

public int LoopsCount { get; set; }

Fastighetsvärde

int

PageCount

Återställ det totala antalet sidor som finns i bilden med dettaPerfekt för att snabbt bedöma omfattningen av bildinnehållet.

public override int PageCount { get; }

Fastighetsvärde

int

Pages

Få tillgång till sidorna inom bilden genom denna bekväma egendom,tillåta smidigt navigering och manipulering av enskilda sidor som behövs.

public override Image[] Pages { get; }

Fastighetsvärde

Image [ ]

PaletteColorResolutionBits

Hantera palettfärgupplösningen av dina GIF-bilder med denna egenskap.antalet bitar som används för att representera färger i paletten, vilket ger fin kontrollöver färgdjup och bildkvalitet.

public byte PaletteColorResolutionBits { get; set; }

Fastighetsvärde

byte

PixelAspectRatio

Hantera pixelaspektsförhållandet av GIF-bilden med denna egenskap.Aspektförhållandet för att säkerställa korrekt rendering och upprätthålla visuell lojalitet.

public byte PixelAspectRatio { get; set; }

Fastighetsvärde

byte

TransparentColor

Återställa den transparenta färgen på den aktiva ramen i GIF-bilden.tillåter dig att komma åt den specifika färgen som har identifierats som transparentinom den nuvarande aktiva ramen.

public override Color TransparentColor { get; }

Fastighetsvärde

Color

XmpData

Hantera XMP metadata med denna egenskap. om du hämtar befintliga metadataeller uppdatera den med ny information, denna egendom förenklar processen.dina metadata organiserade och tillgängliga, för att säkerställa att dina filer innehållerrelevant information de behöver.

public override XmpPacketWrapper XmpData { get; set; }

Fastighetsvärde

XmpPacketWrapper

Methods

AddBlock(IGIFBlock)

Genom att lägga till en ny GIF-block kan du inkludera ytterligare data i bilden.Denna metod gör att du kan lägga till anpassade block till GIF-bilden, vilket kaninnehåller olika typer av information.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

GIF block att lägga till.

Examples

Följande exempel visar hur man komponerar en animerad GIF-bild från enskilda GIF-block.

string dir = "c:\\temp\\";

                                                                                                       // Create a GIF image 100 x 100 px.
                                                                                                       // The first block is fully black by default.
                                                                                                       using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                                                       using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                                       {
                                                                                                           // The first circle is red
                                                                                                           Aspose.Imaging.Brushes.SolidBrush brush1 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);

                                                                                                           // The second circle is black
                                                                                                           Aspose.Imaging.Brushes.SolidBrush brush2 = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Black);

                                                                                                           // Gradually inscrease the angle of the red arc shape.
                                                                                                           for (int angle = 10; angle &lt;= 360; angle += 10)
                                                                                                           {
                                                                                                               Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);

                                                                                                               Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
                                                                                                               gr.FillPie(brush1, block.Bounds, 0, angle);

                                                                                                               gifImage.AddBlock(block);
                                                                                                           }

                                                                                                           // Gradually inscrease the angle of the black arc and wipe out the red arc.
                                                                                                           for (int angle = 10; angle &lt;= 360; angle += 10)
                                                                                                           {
                                                                                                               Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock block = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100);

                                                                                                               Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(block);
                                                                                                               gr.FillPie(brush2, block.Bounds, 0, angle);
                                                                                                               gr.FillPie(brush1, block.Bounds, angle, 360 - angle);

                                                                                                               gifImage.AddBlock(block);
                                                                                                           }

                                                                                                           gifImage.Save(dir + "animated_radar.gif");
                                                                                                       }

AddPage(RasterImage)

Inkludera en ny sida oavsiktligt i den befintliga bilden, förbättra dess innehålloch utöka dess omfattning. den här metoden ökar bildsamlingar med ytterligareinnehåll, främja kreativitet och flexibilitet i bildhantering och komposition.

public void AddPage(RasterImage page)

Parameters

page RasterImage

sidan att lägga till.

Examples

Skapa flersidiga GIF-bilder med hjälp av en enda sida rasterbilder.

static void Main(string[] args)
                                                                      {
                                                                          // Load frames
                                                                          var frames = LoadFrames("Animation frames").ToArray();

                                                                          // Create GIF image using the first frame
                                                                          using (var image = new GifImage(new GifFrameBlock(frames[0])))
                                                                          {
                                                                              // Add frames to the GIF image using the AddPage method
                                                                              for (var index = 1; index &lt; frames.Length; index++)
                                                                              {
                                                                                  image.AddPage(frames[index]);
                                                                              }

                                                                              // Save GIF image
                                                                              image.Save("Multipage.gif");
                                                                          }
                                                                      }

                                                                      private static IEnumerable<rasterimage> LoadFrames(string directory)
                                                                      {
                                                                          foreach (var filePath in Directory.GetFiles(directory))
                                                                          {
                                                                              yield return (RasterImage)Image.Load(filePath);
                                                                          }
                                                                      }</rasterimage>

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Anpassa bildens ljusstyrka enligt den angivnabriljans parameter. Denna metod ändrar hela bildens ljusstyrka jämnt, vilket förbättrar eller minskar den övergripande ljusstyrkan för att uppnå önskad effekt.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

ljusets värde.

Examples

Följande exempel utför briljant korrigering av en GIF-bild.

string dir = "c:\\temp\\";

                                                                               using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                               {
                                                                                   Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                   // Set the brightness value. The accepted values of brightness are in the range [-255, 255].
                                                                                   gifImage.AdjustBrightness(50);
                                                                                   gifImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                               }

AdjustContrast(Flotta)

Anpassa kontrasten i bilden, förbättra eller minska skillnaden iljuset mellan pixlar. Denna metod ändrar bildens totala tonområde,göra mörkare områden mörkare och ljusare områden ljusare för att förbättra visuell klarhetoch detalj.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Kontrastvärde (i intervall [-100; 100])

Examples

Följande exempel gör kontrast korrigering av en GIF-bild.

string dir = "c:\\temp\\";

                                                                             using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                             {
                                                                                 Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                 // Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
                                                                                 gifImage.AdjustContrast(50f);
                                                                                 gifImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                             }

Exceptions

ImageException

Kan inte ändra kontrast. Frame index: " + frameIndex

AdjustGamma(Flotta)

Förbättra bildkvaliteten genom att tillämpa gamma korrigering. Denna metod justerar färgenGamma av bilden för att uppnå optimal visuell klarhet. Det ändrar gammavärdetav varje pixel, vilket resulterar i förbättrad färg rendering och den övergripande bilden utseende.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma för röda, gröna och blå kanaler koefficient

Examples

Följande exempel utför gamma-korrigering av en GIF-bild.

string dir = "c:\\temp\\";

                                                                          using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                          {
                                                                              Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                              // Set gamma coefficient for red, green and blue channels.
                                                                              gifImage.AdjustGamma(2.5f);
                                                                              gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                          }

AdjustGamma(flotta, flotta och flotta)

Gamma-korrigering av en bild tillämpar en icke-lineär justering av pixelvärdena,förbättra eller minska ljusstyrkan baserat på de angivna koefficienterna för rött,grön, och blå kanaler. denna metod hjälper till att finjustera färgbalansen ochbelysning av bilden, förbättra dess övergripande utseende och visuell kvalitet.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gamma för rödkanalkoefficient

gammaGreen float

Gamma för grön kanalkoefficient

gammaBlue float

Gamma för blåkanalkoefficient

Examples

Följande exempel utför gamma-korrigering av en GIF-bild som tillämpar olika koefficienter för färgkomponenter.

string dir = "c:\\temp\\";

                                                                                                                               using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                               {
                                                                                                                                   Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                   // Set individual gamma coefficients for red, green and blue channels.
                                                                                                                                   gifImage.AdjustGamma(1.5f, 2.5f, 3.5f);
                                                                                                                                   gifImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                               }

BinarizeBradley(dubbel)

Binarisering av en bild med hjälp av Bradleys adaptiva gränsvärdealgoritm medIntegral image thresholding är en metod för att konvertera en gråskalig bild till enDetta algoritm beräknar en lokal tröskel för varje pixel baserat påden genomsnittliga intensiteten av de omgivande pixlarna inom ett angivet fönster.adaptiv justering av tröskeln baserat på de lokala pixelintensiteterna, BradleyMetoden är effektiv vid hantering av variationer i belysning och kontrast över bilden.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Skillnaden i ljusstyrka mellan pixel och genomsnittet av ett s x s fönster av pixlar som är inriktade runt denna pixel.

BinarizeFixed(byte)

Binarisering av en bild med en fördefinierad gräns omvandlar en gråskala eller färgbild i en binär bild, där varje pixel klassificeras som svart eller vittbaserat på om dess intensitetsvärde överstiger en angiven tröskel.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Om motsvarande gråvärde för en pixel är större än gränsen, tilldelas det ett värde av 255 eller 0 annars.

Examples

Följande exempel binariserar en GIF-bild med den fördefinierade gränsen. binära bilder innehåller endast 2 färger - svart och vitt.

string dir = "c:\\temp\\";

                                                                                                                                               using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                                               {
                                                                                                                                                   Aspose.Imaging.FileFormats.Gif.GifImage djvuImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                                   // Binarize the image with a threshold value of 127.
                                                                                                                                                   // If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
                                                                                                                                                   djvuImage.BinarizeFixed(127);
                                                                                                                                                   djvuImage.Save(dir + "sample.BinarizeFixed.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                                               }

BinarizeOtsu()

Binarisering av en bild med Otsu-gränssnitt är en metod som används för att automatisktbestämma det optimala tröskelvärdet för att konvertera en gråskalig bild till enden binära bilden. Otsu tröskelvärdet algoritm beräknar den tröskelvärde somminimerar intraklassvariationen av pixelintensiteterna i de två resulterandeklasser (förgrunder och bakgrunder). denna teknik är särskilt användbar närDen optimala gränsvärdet är okänt och måste fastställas adaptivt.på bildens histogram.

public override void BinarizeOtsu()

Examples

Följande exempel binariserar en GIF-bild med Otsu-gränssnitt. binära bilder innehåller endast 2 färger - svart och vitt.

string dir = "c:\\temp\\";

                                                                                                                                        using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                                        {
                                                                                                                                            Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                            // Binarize the image with Otsu thresholding.
                                                                                                                                            gifImage.BinarizeOtsu();
                                                                                                                                            gifImage.Save(dir + "sample.BinarizeOtsu.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                                        }

ClearBlocks()

Rengöring av alla GIF-block tar bort alla befintliga data som lagras inom bilden.Denna operation återställer effektivt bilden till ett tomt tillstånd, vilket tar bort allaAnvänd denna metod när du behöver börja färska med en renSlate för att skapa eller ändra en GIF-bild.

public void ClearBlocks()

Examples

Följande exempel visar hur man tar bort alla block från en GIF-bild.

using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
                                                                                 using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
                                                                                 {
                                                                                     if (gifImage.ActiveFrame != null)
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
                                                                                     }
                                                                                     else
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame is not set");
                                                                                     }

                                                                                     System.Console.WriteLine("Clear all the blocks");
                                                                                     gifImage.ClearBlocks();

                                                                                     if (gifImage.ActiveFrame != null)
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame size: {0}", gifImage.ActiveFrame.Size);
                                                                                     }
                                                                                     else
                                                                                     {
                                                                                         System.Console.WriteLine("Active frame is not set");
                                                                                     }
                                                                                 }

                                                                                 // The output looks like this:
                                                                                 // Active frame size: { Width = 100, Height = 100}
                                                                                 // Clear all the blocks
                                                                                 // Active frame is not set

Crop(Rectangle)

Växla bilden med hjälp av ett angivet rektangulära område. Denna operation tar bort den yttredel av bilden, lämnar endast det valda området som definieras av rektangeln.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

och rektangeln.

Examples

Följande exempel odlar en GIF-bild. odlingsområdet anges via Aspose.Imaging.Rectangle.

string dir = "c:\\temp\\";

                                                                                                                   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                   {
                                                                                                                       Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                       // Crop the image. The cropping area is the rectangular central area of the image.
                                                                                                                       Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(gifImage.Width / 4, gifImage.Height / 4, gifImage.Width / 2, gifImage.Height / 2);
                                                                                                                       gifImage.Crop(area);

                                                                                                                       // Save the cropped image to PNG
                                                                                                                       gifImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                   }

Dither(DitheringMethod, int, IColorPalette)

Applicera dithering till den aktuella bilden. Denna process förbättrar bildkvaliteten genom attminska färgbanding och förbättra färgövergångar, vilket resulterar i en jämnareUtseendet .

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

Metoden för att diktera.

bitsCount int

De sista bitarna räknar för dithering.

customPalette IColorPalette

Den vanliga paletten för dithering.

Examples

Följande exempel ladda en GIF-bild och utför gränsvärde och flytande dithering med olika palettdjup.

string dir = "c:\\temp\\";

                                                                                                                            using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                            {
                                                                                                                                Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                // Perform threshold dithering using 4-bit color palette which contains 16 colors.
                                                                                                                                // The more bits specified the higher quality and the bigger size of the output image.
                                                                                                                                // Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
                                                                                                                                gifImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);

                                                                                                                                gifImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                            }

                                                                                                                            using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                            {
                                                                                                                                Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                // Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
                                                                                                                                // The more bits specified the higher quality and the bigger size of the output image.
                                                                                                                                // Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
                                                                                                                                gifImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);

                                                                                                                                gifImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                            }

Filter(Rectangle, FilterOptionsBase)

Applicera ett specifikt filter till det angivna området på bilden, vilket förbättrar dess visuellakvalitet eller ändra dess utseende som önskas. denna metod selektivtpixlar inom den definierade rektangeln, så att riktade justeringar kan görassamtidigt som integriteten av de omgivande bilddata bevaras.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

och rektangeln.

options FilterOptionsBase

och alternativen .

Examples

Följande exempel tillämpar olika typer av filter på en GIF-bild.

string dir = "c:\\temp\\";

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a median filter with a rectangle size of 5 to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
                                                                                     gifImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
                                                                                     gifImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
                                                                                     gifImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
                                                                                     gifImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
                                                                                     gifImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

                                                                                 using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                 {
                                                                                     Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                     // Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
                                                                                     gifImage.Filter(gifImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
                                                                                     gifImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                 }

GetOriginalOptions()

Återställa de ursprungliga filinställningarna baserade alternativ, avgörande för att upprätthålla lojalitetoch konsistens i bildbehandling och manipulation. Denna metod gör det möjligt attintegrering av filspecifika parametrar i efterföljande operationer, säkerställa attkorrekt rendering och efterlevnad av bildens inhemska egenskaper.Detta kan vara användbart för att hålla bitdjup och andra parametrar av den ursprungliga bilden oförändrad.Till exempel, om vi laddar en svartvitt PNG-bild med 1 bit per pixel och sedan sparar den med hjälp avAspose.Imaging.DataStreamSupporter.Save(System.String) metod, utgången PNG bild med 8-bitars per pixel kommer att produceras.För att undvika det och spara PNG-bild med 1-bit per pixel, använd denna metod för att få motsvarande spara alternativ och passera demtill Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) metod som andra parametrar.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Alternativ baserade på de ursprungliga filinställningarna.

Grayscale()

Omvandlingen av en bild till sin gråskala representation omvandlar färgenbild i en gråskala version genom att ta bort färginformation samtidigt somDenna process förenklar bilden till skuggor av grå, vilket gör den lämpligför olika applikationer som utskrift, dokumentbehandling och grayscaleAnalys av .

public override void Grayscale()

Examples

Följande exempel omvandlar en färgad GIF-bild till sin grayscale-representation. Grayscale-bilder består uteslutande av skuggor av grå och bär endast intensitetsinformation.

string dir = "c:\\temp\\";

                                                                                                                                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                                                                                                  {
                                                                                                                                                                                                      Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                                                                                                                                      gifImage.Grayscale();
                                                                                                                                                                                                      gifImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                                                                                                  }

InsertBlock(för IGIFBlock)

Genom att infoga en ny GIF-block kan du lägga till anpassade data i en viss position.Denna metod gör att du kan placera anpassade block på en önskadplats i GIF-bilden, vilket ger flexibilitet i organisering och strukturering avbild data .

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Det nollbaserade elementet, på vilket block som kommer att läggas in.

block IGifBlock

GIF block att lägga till.

OnPaletteChanged(Föregående inläggFöregående IColorPalette)

Kallas när paletten ändras.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Den gamla paletten.

newPalette IColorPalette

Den nya paletten.

OnPaletteChanging(Föregående inläggFöregående IColorPalette)

Det kallas när paletten förändras.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Den gamla paletten.

newPalette IColorPalette

Den nya paletten.

OrderBlocks()

Att ordna GIF-blockorna enligt GIF-specifikationen säkerställer lämplig GIFlayout och överensstämmelse med standarden. denna process innebär att arrangerablock i rätt sekvens som definierats av specifikationen.kan innefatta avlägsnande av vissa Aspose.Imaging.FileFormats.Gif.Blocks.GifGraphicsControlBlock instanser somär inte nödvändiga för den slutliga layouten. genom att följa GIF-specifikationen,den resulterande bilden kommer att vara korrekt strukturerad och kompatibel med GIF-visningtillämpningar .

public void OrderBlocks()

RemoveBlock(IGIFBlock)

Att ta bort en GIF-block tar bort specifika data från bilden, vilket ger möjlighet attrengöra eller ändra bildstrukturen. Denna metod gör att du kan ta bort oönskadeeller onödiga block, optimerar GIF-bilden för effektiv lagring.funktionalitet för att ta bort föråldrad information från bilden samtidigt somdess integritet och kvalitet.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Block för att ta bort.

Remarks

Observera: Glöm inte att lägga till blocket om du inte lägger till det till någon annan GifImage.

Resize(int, int, resizeType)

Återställ denna Aspose.Imaging.Image instans.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

resizeType ResizeType

Den återställande typen.

Examples

Detta exempel laddar upp en GIF-bild och resyser den med hjälp av olika resiseringsmetoder.

string dir = "c:\\temp\\";

                                                                                        using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                        {
                                                                                            // Scale up by 2 times using Nearest Neighbour resampling.
                                                                                            image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
                                                                                            image.Save(dir + "upsample.nearestneighbour.gif");
                                                                                        }

                                                                                        using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                        {
                                                                                            // Scale down by 2 times using Nearest Neighbour resampling.
                                                                                            image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
                                                                                            image.Save(dir + "downsample.nearestneighbour.gif");
                                                                                        }

                                                                                        using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                        {
                                                                                            // Scale up by 2 times using Bilinear resampling.
                                                                                            image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
                                                                                            image.Save(dir + "upsample.bilinear.gif");
                                                                                        }

                                                                                        using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                        {
                                                                                            // Scale down by 2 times using Bilinear resampling.
                                                                                            image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
                                                                                            image.Save(dir + "downsample.bilinear.gif");
                                                                                        }

Resize(int, int, ImageResizeSettings)

Återställ denna Aspose.Imaging.Image instans.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

settings ImageResizeSettings

De inställningar .

Examples

Detta exempel laddar upp en GIF-bild och återställer den med hjälp av olika återställningsinställningar.

string dir = "c:\\temp\\";

                                                                                         Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();

                                                                                         // The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
                                                                                         resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;

                                                                                         // The small rectangular filter
                                                                                         resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;

                                                                                         // The number of colors in the palette.
                                                                                         resizeSettings.EntriesCount = 256;

                                                                                         // The color quantization is not used
                                                                                         resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;

                                                                                         // The euclidian method
                                                                                         resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;

                                                                                         using (Aspose.Imaging.Image image = (Aspose.Imaging.Image)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                         {
                                                                                             Aspose.Imaging.FileFormats.Gif.GifImage gifImage = (Aspose.Imaging.FileFormats.Gif.GifImage)image;

                                                                                             // Scale down by 2 times using adaptive resampling.
                                                                                             gifImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);

                                                                                             // Save to PNG
                                                                                             gifImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                         }

ResizeFullFrame(int, int, resizeType)

Återskapa bilden samtidigt som man tar hänsyn till de fullständiga ramarna för varje sida i enGIF, därmed förhindra potentiella artefakter från att dyka upp.att upprätthålla bildens integritet och kvalitet, särskilt när det gälleranimerade gifs eller sekvenser av ramar.

public void ResizeFullFrame(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

resizeType ResizeType

Den återställande typen.

ResizeProportional(int, int, resizeType)

Proportionell återställning upprätthåller bildens aspektförhållande samtidigt som den justerar dess storlek, vilket säkerställer att bilden inte ser utsträckta eller förvrängda. Denna metod återställer bilden proportionellt, skala både bredd och höjd av samma faktor.Den proportionella återställningen återställer varje ram enligt förhållandet mellan newWidth’/width och newHeight’/height.

public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

Den nya bredden.

newHeight int

Den nya höjden.

resizeType ResizeType

Den återställande typen.

Rotate(Float, bool, färg)

Denna metod roterar bilden runt dess centrala punkt. Genom att specificera rotationenvinkeln, kan du rotera bilden klockvis eller counterklockvis för att uppnåönskad orientering. denna rotation hjälper till att justera bildens presentation elleranpassning utan att förstöra dess innehåll.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

Den roterade vinkeln i grader. Positiva värden roterar klockvis.

resizeProportionally bool

Om du ställer in till ’true’ kommer du att ha din bildstorlek ändrats enligt roterade rektangulära (kornpunkter) projektioner i annat fall som lämnar dimensioner obekväma och endastinterna bildinnehåll roteras.

backgroundColor Color

Färgen på bakgrunden.

RotateFlip(RotateFlipType)

Gör rotation, flipping, eller båda på den aktiva ramen uteslutande.tillämpar omvandlingar endast på den aktuella aktiva ramen för bilden,bevarar integriteten hos andra ramar i sekvensen.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Den roterade flip typen.

Examples

Detta exempel laddar en GIF-bild, roterar den med 90 grader klockvis och alternativt flips bilden horisontellt och/eller vertikalt.

string dir = "c:\\temp\\";

                                                                                                                                             Aspose.Imaging.RotateFlipType[] rotateFlipTypes = new Aspose.Imaging.RotateFlipType[]
                                                                                                                                             {
                                                                                                                                                 Aspose.Imaging.RotateFlipType.Rotate90FlipNone,
                                                                                                                                                 Aspose.Imaging.RotateFlipType.Rotate90FlipX,
                                                                                                                                                 Aspose.Imaging.RotateFlipType.Rotate90FlipXY,
                                                                                                                                                 Aspose.Imaging.RotateFlipType.Rotate90FlipY,
                                                                                                                                             };

                                                                                                                                             foreach (Aspose.Imaging.RotateFlipType rotateFlipType in rotateFlipTypes)
                                                                                                                                             {
                                                                                                                                                 // Rotate, flip and save to the output file.
                                                                                                                                                 using (Aspose.Imaging.FileFormats.Gif.GifImage image = (Aspose.Imaging.FileFormats.Gif.GifImage)Aspose.Imaging.Image.Load(dir + "sample.gif"))
                                                                                                                                                 {
                                                                                                                                                     image.RotateFlip(rotateFlipType);
                                                                                                                                                     image.Save(dir + "sample." + rotateFlipType + ".png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                                                 }
                                                                                                                                             }

SaveData(Stream)

Spara dina data.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Strömmen för att spara data till.

SetFrameTime(Försöker)

Anpassa varaktigheten av varje ram i millisekunder, vilket säkerställer en konsekvent timingi hela bildsekvensen. Denna metod anger enhetligt visningstiden förvarje ram, vilket möjliggör exakt kontroll över animeringshastighet.Att ändra detta värde kommer att återställa förseningen för alla ramar.

public void SetFrameTime(ushort time)

Parameters

time ushort

Den ramtid varaktighet i millisekunder.

UpdateDimensions(int, int)

Uppdatera bilddimensionerna.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Den nya bilden bredd.

newHeight int

Den nya bilden höjd.

 Svenska