Class GifImage

Class GifImage

Numele spaţiului: Aspose.Imaging.FileFormats.Gif Asamblare: Aspose.Imaging.dll (25.4.0)

API pentru GIF (Graphical Interchange Format)dezvoltatori cu instrumente versatile pentru prelucrarea imaginilor de raster comprimate șiGIF-uri animate. oferă caracteristici cum ar fi manipularea metadata XMP, paleta de culorisetări, fundal și control transparent al culorilor, setările opacității, resize,grădină, aplicație de filtru, corectări gamma, ajustarea contrastului, grayscaletransformare, și conversie la alte formate. această API permite fără semnemanipularea și îmbunătățirea imaginilor GIF pentru o gamă largă de aplicații.

[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

Membrii moștenitori

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

Exportarea unei părți a animației din imaginea GIF bazată pe intervalul de timp.

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);
                                                                             }

Acest exemplu arată cum să creați o imagine GIF și să o salvați într-un fișier.

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");
                                                                                  }
                                                                              }

Creați imagini GIF de mai multe pagini folosind imaginile raster de o singură pagină.

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 și IColorPalette)

Începeți un nou obiect Aspose.Imaging.FileFormats.Gif. GifImage cu parametri specificați pentruprimul cadru și paleta globală. începe gestionarea rapidă a imaginilor GIF, asigurândreprezentarea exactă cu setări personalizabile pentru rezultate optime.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Primul cadru pentru a iniția imaginea gif cu.

globalPalette IColorPalette

Rețineți că dacă atât firstFrame’ cât și <cod class=paranf">globalPalette’ sunt nule, atunci se utilizează paleta globală de preferință.

Examples

Acest exemplu arată cum să creați o imagine GIF cu o paletă personalizată și să o salvați într-un fișier.

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’ nu poate fi zero

ArgumentException

firstFrame’ aparține deja unei alte imagini.

GifImageException

Clasa <code=“paramref”>globalPalette’ specificat ar trebui să conțină numărul de intrări egale cu puterea de 2. dimensiunea minimă a paletei este 2, maximul este 256.

GifImage(GifFrameBlock)

Crearea de imagini GIF devine grea cu Aspose.Imaging.FileFormats.Gif.Constructor. cu doar primul parametru Frame, intră într-o lume dinamicăComunicarea vizuală.

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Primul cadru pentru a iniția imaginea gif cu.

Examples

Acest exemplu arată cum să creați o imagine GIF și să o salvați într-un fișier.

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");
                                                                                  }
                                                                              }

Următorul exemplu arată cum să compuneți o imagine GIF animată de la blocuri individuale.

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’ nu poate fi zero

ArgumentException

firstFrame’ aparține deja unei alte imagini.

GifImageException

Paleta specificată trebuie să conțină numărul de intrări egale cu puterea de 2. Dimensiunea minimă a paletei este 2, maximul este 256.

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

Începeți fără efort cu Aspose.Imaging.FileFormats.Gif. GifImage constructor.metoda simplă, puteți îneca în crearea GIF-urilor animate cu ușurință.primaFrame, globalPalette, paletteColorResolution, aspectRatio, și alteleParametrii, și sunteți gata să vă aduceți vizualizările în viață.

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

Parameters

firstFrame GifFrameBlock

Primul cadru pentru a iniția imaginea gif cu.

globalPalette IColorPalette

Rețineți că dacă atât firstFrame’ cât și <cod class=paranf">globalPalette’ sunt nule, atunci se utilizează paleta globală de preferință.

isPaletteSorted bool

dacă s-a setat la ’true’ paleta este sortată. notează că parametrul este utilizat atunci când globalPalette" nu este nul.

paletteColorResolution byte

Notă parametru este utilizat atunci când globalPalette’ nu este zero.

paletteBackgroundColorIndex byte

Indicele culorilor de fundal.

aspectRatio byte

Raportul aspectului.

hasTrailer bool

în cazul în care este setat pentru a ‘verit’ imaginea gif are trailer altfel nu există trailer scris la sfârșitul fluxului.

Exceptions

ArgumentNullException

firstFrame’ nu poate fi zero

ArgumentException

firstFrame’ aparține deja unei alte imagini.

GifImageException

Clasa <code=“paramref”>globalPalette’ specificat ar trebui să conțină numărul de intrări egale cu puterea de 2. dimensiunea minimă a paletei este 2, maximul este 256.

Properties

ActiveFrame

Gestionarea și manipularea cadrelor cu această proprietate, permițând o navigare netedă șiModificarea cadrului activ în cadrul imaginii GIF.

public GifFrameBlock ActiveFrame { get; set; }

Valoarea proprietății

GifFrameBlock

Examples

Următorul exemplu arată cum să eliminați toate blocurile dintr-o imagine GIF.

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

Gestionarea culorii de fundal a imaginii GIF cu această proprietate.Recuperă culoarea fundalului pentru a asigura coerența și a îmbunătăți atracția vizuală.

public override Color BackgroundColor { get; set; }

Valoarea proprietății

Color

BackgroundColorIndex

Controlați indexul culorilor de fundal al imaginii GIF folosind această proprietate.recâștigați indicele pentru a menține coerența sau a obține efectele vizuale dorite.

public byte BackgroundColorIndex { get; set; }

Valoarea proprietății

byte

Blocks

Obțineți acces la blocurile GIF fără întârziere cu această proprietate, facilitând ușorrecuperarea și manipularea structurilor de date subiacente ale imaginii.

public IGifBlock[] Blocks { get; }

Valoarea proprietății

IGifBlock []

FileFormat

Returnați formatul de fișier fără efort cu această proprietate. este va merge la sursăpentru a identifica formatul fișierelor dvs. integrate fără probleme în fluxul de lucru,Acesta furnizează informații vitale fără nici o înșelăciune.

public override FileFormat FileFormat { get; }

Valoarea proprietății

FileFormat

HasBackgroundColor

Această proprietate determină dacă imaginea GIF conține o culoare de fundal.adevăr, indică faptul că imaginea include o culoare de fundal.

public override bool HasBackgroundColor { get; }

Valoarea proprietății

bool

HasTrailer

Gestionați prezența unui trailer în fișierele GIF cu această proprietate.trebuie să verificați dacă există un trailer sau să-și stabilească prezența, această proprietate simplificăPăstrați fișierele GIF structurate și conforme cu această caracteristică intuitivă.

public bool HasTrailer { get; set; }

Valoarea proprietății

bool

HasTransparentColor

Determinați dacă cadru activ al imaginii GIF include o culoare transparentă.Această proprietate oferă o modalitate convenabilă de a verifica transparența în interiorul imaginii.

public override bool HasTransparentColor { get; set; }

Valoarea proprietății

bool

ImageOpacity

Reduceți opacitatea cadrului activ în interiorul imaginii, oferind o perspectivănivelul său de transparență.Această proprietate este deosebit de utilă pentru înțelegereagradul de transparență sau opacitate a cadrului activ în imagine.

public override float ImageOpacity { get; }

Valoarea proprietății

float

IsInterlaced

Determine dacă imaginea este interligată, impactând afișarea sa în timpul încărcării.proprietatea oferă o înțelegere a comportamentului de renderare a imaginii, esențială pentruoptimizarea strategiilor de încărcare și îmbunătățirea experienței generale de vizualizare.

public bool IsInterlaced { get; }

Valoarea proprietății

bool

IsPaletteSorted

Controlați sortarea paletei în imaginile GIF folosind această proprietate.trebuie să verificați dacă paleta este sortată sau setarea comportamentului de sortare, aceastaproprietate oferă o modalitate simplă de a gestiona organizația de paletă înFișierele GIF.

public bool IsPaletteSorted { get; set; }

Valoarea proprietății

bool

LoopsCount

Reduceți numărul de linguri fără efort cu această proprietate. dacă imaginea GIF includeinformații de curbă, această proprietate vă oferă acces rapid la numărarea curbinelor, permițândpentru a gestiona fără probleme comportamentul de curățare în fișierele GIF.

public int LoopsCount { get; set; }

Valoarea proprietății

int

PageCount

Returnați numărul total de pagini conținute în interiorul imaginii cu acestProprietate simplă. ideală pentru evaluarea rapidă a dimensiunii conținutului imaginii.

public override int PageCount { get; }

Valoarea proprietății

int

Pages

Obțineți acces la paginile din interiorul imaginii prin această proprietate convenabilă,Permite navigarea și manipularea individuală a paginilor, după cum este necesar.

public override Image[] Pages { get; }

Valoarea proprietății

Image []

PaletteColorResolutionBits

Gestionarea rezoluției de culori a imaginilor GIF cu această proprietate.numărul de bite utilizate pentru a reprezenta culorile în paletă, oferind un control finCalitatea culorii și calitatea imaginii.

public byte PaletteColorResolutionBits { get; set; }

Valoarea proprietății

byte

PixelAspectRatio

Gestionați raportul aspectului pixel al imaginii GIF cu această proprietate.Raportul aspectului pentru a asigura performanța corectă și a menține fidelitatea vizuală.

public byte PixelAspectRatio { get; set; }

Valoarea proprietății

byte

TransparentColor

Returnați culoarea transparentă a cadrului activ în imaginea GIF.vă permite să accesați culoarea specifică care a fost desemnată ca transparentăîn cadrul actual activ.

public override Color TransparentColor { get; }

Valoarea proprietății

Color

XmpData

Gestionați metadate XMP cu această proprietate. indiferent dacă obțineți date metadata existentesau să-l actualizeze cu informații noi, această proprietate simplifică procesul.metadate organizate și accesibile, asigurând că fișierele dvs. conțininformaţii relevante de care au nevoie.

public override XmpPacketWrapper XmpData { get; set; }

Valoarea proprietății

XmpPacketWrapper

Methods

AddBlock(Blocul IGIF)

Adăugarea unui nou bloc GIF vă permite să includeți date suplimentare în imaginea.Această metodă vă permite să adăugați blocuri personalizate la imaginea GIF, care poateConține diferite tipuri de informații.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

Blocul GIF se adaugă.

Examples

Următorul exemplu arată cum să compuneți o imagine GIF animată de la blocuri individuale.

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)

Introduceți o nouă pagină în imaginea existentă, îmbunătățind conținutul acesteiași extinde domeniul său de aplicare. această metodă crește colecțiile de imagini cu mai multeconținut, promovarea creativității și flexibilității în managementul imaginii și compoziția.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Pagina pentru a adăuga.

Examples

Creați imagini GIF de mai multe pagini folosind imaginile raster de o singură pagină.

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)

Ajustă luminozitatea imaginii în funcție de parametrii specificațibrightness. Această metodă modifică luminositatea întregii imagini uniform, îmbunătățind sau reducând lumina generală pentru a obține efectul dorit.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Valori de lumină.

Examples

Următorul exemplu efectuează corectarea luminozității unei imagini GIF.

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(float)

Ajustă contrastul imaginii, îmbunătățind sau reducând diferența deluminozitatea dintre pixeli. această metodă modifică gama tonală generală a imaginii,A face zonele mai întunecate și a face zone mai luminoase pentru a îmbunătăți claritatea vizualăşi detaliu.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Valoarea contrastului (în interval [-100; 100])

Examples

Următorul exemplu efectuează corectarea contrastului unei imagini GIF.

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

Nu se poate schimba contrastul. Frame index: " + frameIndex

AdjustGamma(float)

Îmbunătățește calitatea imaginii prin aplicarea corecției gamma. această metodă ajustează culoareagama imaginii pentru a obține o claritate vizuală optimă. modifică valoarea gammafiecărui pixel, ceea ce duce la o performanță îmbunătățită a culorilor și la aspectul general al imaginii.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gama pentru coeficientul canalelor roșii, verzi și albastru

Examples

Următorul exemplu efectuează corecția gamma a unei imagini GIF.

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(în float, float, float)

Corecția de gamă a unei imagini se aplică o ajustare nonlineară la valorile pixelelor,îmbunătățirea sau reducerea luminozității pe baza coeficientelor specificate pentru roșu;verde și albastru. această metodă ajută la îmbunătățirea echilibrului de culoare șiluminozitatea imaginii, îmbunătățind aspectul general și calitatea vizuală.

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

Parameters

gammaRed float

Gama pentru coeficientul canalului roșu

gammaGreen float

Gama pentru coeficientul canalului verde

gammaBlue float

Gamma pentru coeficientul canalului albastru

Examples

Următorul exemplu efectuează corecția gamma a unei imagini GIF aplicând coeficienți diferiți pentru componentele de culoare.

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(Dublă)

Binarizarea unei imagini folosind algoritmul adaptiv al lui Bradley cuImaginea integrală este o metodă de transformare a unei imagini grayscale într-oAcest algoritm calculează un prag local pentru fiecare pixel bazat peintensitatea medie a pixelelor înconjurătoare într-o fereastră specificată.ajustarea adaptivă a pragului în funcție de intensitățile pixelelor locale, BradleyMetoda este eficientă în gestionarea variațiilor de iluminat și contrast peste imagini.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Diferența de luminozitate dintre pixel și medie a unei ferestre s x s a pixelelor centrate în jurul acestui pixel.

BinarizeFixed(în byte)

Binarizarea unei imagini cu un prag predefinit convertește o scară gri sau o culoareimaginea intr-o imagine binara, unde fiecare pixel este clasificat ca negru sau albîn funcție de dacă valoarea sa de intensitate depășește un prag specificat.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Dacă valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, o valoare de 255 va fi atribuită acestuia, 0 altfel.

Examples

Următorul exemplu binarizează o imagine GIF cu pragul predefinit. imagini binare conțin doar 2 culori - negru și alb.

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()

Binarizarea unei imagini cu pragul Otsu este o metodă utilizată pentru adetermină valoarea maximă optimă pentru convertirea unei imagini grayscale într-oImaginea binară. algoritmul de prag Otsu calculează pragul careminimizează variația intra-clasă a intensităților pixelelor în cele două rezultatecursuri (pregrafice și de fundal). această tehnică este deosebit de utilă atunci cândvaloarea pragului optim este necunoscută și trebuie determinată în mod adaptivpe histogramul imaginii.

public override void BinarizeOtsu()

Examples

Următorul exemplu binarizează o imagine GIF cu marginea Otsu. imagini binare conțin doar 2 culori - negru și alb.

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()

Curățarea tuturor blocurilor GIF îndepărtează orice date existente stocate în interiorul imaginii.Această operațiune reîntoarce în mod eficient imaginea într-o stare goală, eliminând oriceutilizează această metodă atunci când trebuie să începeți proaspăt cu unpentru a crea sau modifica o imagine GIF.

public void ClearBlocks()

Examples

Următorul exemplu arată cum să eliminați toate blocurile dintr-o imagine GIF.

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)

Creați imaginea folosind o zonă rectangulară specificată. Această operație îndepărtează exteriorulo parte a imaginii, care lasă numai regiunea selectată definită de rectanglu.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

în rectanglu .

Examples

Următorul exemplu crește o imagine GIF. Zona de creștere este specificată prin 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(DitheringMetodă, int, IColorPalette)

Aplicați dithering la imaginea curentă. Acest proces îmbunătățește calitatea imaginii prinreducerea bandajului de culori și îmbunătățirea tranzițiilor de culoare, ceea ce duce la o mai netedăapariţie .

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

Parameters

ditheringMethod DitheringMethod

Metoda de depăşire.

bitsCount int

Ultimele bite contează pentru dithering.

customPalette IColorPalette

Paleta obișnuită pentru dithering.

Examples

Următorul exemplu încărcă o imagine GIF și realizează pragul și fluidul de dithering folosind diferite adâncimi de paletă.

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)

Aplicați un filtru specific în zona desemnată a imaginii, îmbunătățind vizualitatea acestuiacalitatea sau modificarea aspectului său după cum este dorit. această metodă procesează selectivpixelele din rectanglul definit, permițând efectuarea ajustărilor țintăÎn același timp, păstrarea integrității datelor imaginii înconjurătoare.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

în rectanglu .

options FilterOptionsBase

ale opţiunilor .

Examples

Următorul exemplu se aplică diferitelor tipuri de filtre pentru o imagine GIF.

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()

Returnați opțiunile bazate pe setările de fișier originale, esențiale pentru menținerea fidelitățiiși coerența în prelucrarea și manipularea imaginii. această metodă permiteintegrarea parametrilor specifice fișierelor în operațiunile ulterioare, asigurândrezistență precisă și aderare la caracteristicile inerente ale imaginii.Acest lucru poate fi util pentru a menține adâncimea și alte parametri ale imaginii originale inalterate.De exemplu, dacă încărcăm o imagine PNG alb-negru cu 1 bit pe pixel și apoi o salvăm folosindAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, va fi produs imaginea PNG de ieșire cu 8 bit pe pixel.Pentru a evita acest lucru și pentru a salva imaginea PNG cu 1 bit pe pixel, utilizați această metodă pentru a obține opțiunile de salvare corespunzătoare și a le trecela metoda Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) ca al doilea parametru.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opțiunile bazate pe setările de fișier originale.

Grayscale()

Transformarea unei imagini în reprezentarea sa grayscale convertește culoareaImaginea într-o versiune cu scară gri prin îndepărtarea informațiilor de culoare în timp ce păstrareaAcest proces simplifică imaginea la nuanțe de gri, făcând-o adecvatăpentru diverse aplicații, cum ar fi imprimarea, procesarea documentelor și grayscaleanaliză .

public override void Grayscale()

Examples

Următorul exemplu transformă o imagine GIF colorată în reprezentarea sa grayscale. imagini Graysscale sunt compuse exclusiv din nuanțe de gri și poartă doar informații de intensitate.

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(Cuvânt cheie: IGIFBlock)

Introducerea unui nou bloc GIF vă permite să adăugați date personalizate într-o anumită pozițieÎn interiorul imaginii. această metodă vă permite să puneți blocuri personalizate la un loc doritlocalizarea în imaginea GIF, oferind flexibilitate în organizarea și structurareadate de imagine.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Elementul bazat pe zero, la care blocul va fi introdus.

block IGifBlock

Blocul GIF se adaugă.

OnPaletteChanged(Cuvânt cheie, Cuvânt cheie)

Se numește când se schimbă paleta.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Vechea paletă

newPalette IColorPalette

În noua paletă.

OnPaletteChanging(Cuvânt cheie, Cuvânt cheie)

Se numește când se schimbă paleta.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Vechea paletă

newPalette IColorPalette

În noua paletă.

OrderBlocks()

Ordinarea blocurilor GIF în conformitate cu specificația Gif asigură un gif adecvatîndeplinirea și conformitatea cu standardul. acest proces implică organizareablocuri în secvența corectă, astfel cum este definită de specificație.poate implica îndepărtarea anumitor instante Aspose.Imaging.FileFormats.Gif.Blocks.DifGraphicsControlBlocknu sunt necesare pentru layout final. prin aderarea la specificația GIF,Imaginea rezultată va fi structurată corect și compatibilă cu vizualizarea GIFAplicaţii .

public void OrderBlocks()

RemoveBlock(Blocul IGIF)

Îndepărtarea unui bloc GIF îndepărtează date specifice din imagine, oferind capacitatea de acurățați sau modificați structura imaginii. această metodă vă permite să eliminați cele nedoritesau blocuri inutile, optimizând imaginea GIF pentru stocare eficientă.funcționalitate pentru a elimina informațiile învechite din imagine în timp ce păstreazăintegritatea şi calitatea lor.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Blocul pentru a elimina.

Remarks

Notă: nu uitați să puneți blocul dacă nu îl adăugați la alte GifImage.

Resize(int, int, resizeType)

Reîncărcați acest lucru Aspose.Imaging.Image instanta.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

Examples

Acest exemplu încărcă o imagine GIF și o resizează folosind diferite metode de resizare.

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)

Reîncărcați acest lucru Aspose.Imaging.Image instanta.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

settings ImageResizeSettings

şi de setări.

Examples

Acest exemplu încărcă o imagine GIF și o revizuiesc folosind diferite setări de revizuire.

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)

Recuperarea imaginii, luând în considerare cadrele complete pentru fiecare pagină într-oGIF, prin urmare, prevenirea apariției unor artefacte potențiale. această metodă este esențialăpentru a menține integritatea și calitatea imaginii, mai ales atunci când se ocupă cuGIF-uri animate sau secvențe de cadre.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

ResizeProportional(int, int, resizeType)

Rezistența proporțională menține raportul aspect al imaginii în timp ce ajustează dimensiunea acesteia, asigurându-se că imaginea nu apare întinsă sau distorsionată. Această metodă reziste imagina proporțional, scalând atât lățimea, cât și înălțimii prin același factor.Rezistențele proporționale va rezista fiecare cadru în funcție de ratele newWidth’/width și newHeight’ / height.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

Rotate(float, bool, culoare)

Această metodă rotează imaginea în jurul punctului său central. prin specificarea rotațieiangle, puteți rota imaginea în mod orar sau counterclockwise pentru a obțineorientare dorită. această rotație ajută la ajustarea prezentării imaginii sauAlinierea fără a distorsiona conținutul.

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

Parameters

angle float

Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.

resizeProportionally bool

în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.

backgroundColor Color

Culoarea fundalului.

RotateFlip(RotateFlipType)

Performanța rotației, flipping-ului sau a ambelor în cadrul activ exclusiv.aplică transformările numai cadrului activ actual al imaginii,menținerea integrității celorlalte cadre în secvență.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Tipul de flip rotat.

Examples

Acest exemplu încărcă o imagine GIF, o rotează la 90 de grade în mod orar și opțional flipsă imaginea orizontală și (sau) verticală.

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)

salvează datele.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Stream pentru a salva datele la.

SetFrameTime(Răspundeți)

Ajustează durata fiecărui cadru în milisecunde, asigurând un timp consistentpe tot parcursul secvenței imaginii. această metodă stabilește uniform timpul de afișare pentrufiecare cadru, permițând controlul exact al vitezei de animație.Modificarea acestei valori va restabili întârzierea pentru toate ramurile.

public void SetFrameTime(ushort time)

Parameters

time ushort

Timpul de cadru durează în milisecunde.

UpdateDimensions(int, int)

Actualizează dimensiunile imaginii.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Noua dimensiune a imaginii.

newHeight int

Înălțimea noii imagini.

 Română