Class GifImage

Class GifImage

Der Name: Aspose.Imaging.FileFormats.Gif Versammlung: Aspose.Imaging.dll (25.4.0)

Die API für Graphical Interchange Format (GIF) Bilddatei bietetEntwickler mit vielseitigen Tools für die Verarbeitung von komprimierten Raster-Bilder undanimierte GIFs. bieten Funktionen wie XMP Metadata-Management, FarbpaletteEinstellungen, Hintergrund und transparente Farbkontrolle, Opacity Einstellungen, Resize,Pflanzen, Filteranwendung, Gamma Korrekturen, Kontrastanpassung, GrayscaleKonvertierung und Konvertierung in andere Formate. Diese API ermöglicht dieManipulation und Verbesserung von GIF-Bilder für eine breite Palette von Anwendungen.

[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

Vererbte Mitglieder

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

Export eines Teils der Animation aus GIF-Bilder basierend auf Zeitintervall.

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

Dieses Beispiel zeigt, wie man ein GIF-Bild erstellen und es in eine Datei speichern kann.

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

Erstellen Sie mehrseiten GIF-Bild mit einzelnen Seiten-Raster-Bildungen.

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 und IColorPalette)

Starten Sie ein neues Aspose.Imaging.FileFormats.Gif.GifImage Objekt mit angegebenen Parameter für die1. Frame und globale Palette. Beginnen Sie mit der Verwaltung von GIF-Bilder schnell, gewährleistenGenauere Darstellung mit anpassbaren Einstellungen für optimale Ergebnisse.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Der erste Rahmen, um gif-Bild mit zu initialisieren.

globalPalette IColorPalette

Bitte beachten Sie, dass, wenn sowohl firstFrame’ als auch globalPalette’ null sind, dann standardmäßige globale Palette verwendet wird.

Examples

Dieses Beispiel zeigt, wie man ein GIF-Bild mit einer benutzerdefinierten Palette erstellen und es in eine Datei speichern kann.

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

Die firstFrame’ kann nicht null sein

ArgumentException

Die firstFrame’ gehört bereits zu einem anderen Bild.

GifImageException

Die globalPalette’ angegeben sollte enthalten, die Anzahl der Einträge entspricht der Leistung von 2. Minimale Palettgröße ist 2, maximale ist 256.

GifImage(GifFrameBlock)

GIF-Bilder zu erstellen, werden mit dem Aspose.Imaging.FileFormats.Gif.GifImage problemlosMit nur dem ersten Frame-Parameter tritt er in eine dynamische Welt eindie visuelle Kommunikation.

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Der erste Rahmen, um gif-Bild mit zu initialisieren.

Examples

Dieses Beispiel zeigt, wie man ein GIF-Bild erstellen und es in eine Datei speichern kann.

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

Das folgende Beispiel zeigt, wie man ein animiertes GIF-Bild aus einzelnen GIF-Blocken komponiert.

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

Die firstFrame’ kann nicht null sein

ArgumentException

Die firstFrame’ gehört bereits zu einem anderen Bild.

GifImageException

Die angegebenen Palette muss enthalten, die Anzahl der Einträge entspricht der Leistung von 2. Die minimale Palettgröße ist 2, die maximale ist 256.

GifImage(GifFrameBlock, IColorPalette, Bool, Byte, Byte, Bool)

Beginnen Sie mit dem Aspose.Imaging.FileFormats.Gif.GifImage Konstruktor.einfache Methode, können Sie in die Erstellung von animierten GIFs mit Leichtigkeit eintauchen.firstFrame, globalPalette, paletteColorResolution, aspectRatio und andereParameter, und Sie sind bereit, Ihre visuellen in das Leben zu bringen.

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

Parameters

firstFrame GifFrameBlock

Der erste Rahmen, um gif-Bild mit zu initialisieren.

globalPalette IColorPalette

Bitte beachten Sie, dass, wenn sowohl firstFrame’ als auch globalPalette’ null sind, dann standardmäßige globale Palette verwendet wird.

isPaletteSorted bool

Bitte beachten Sie, dass der Parameter verwendet wird, wenn globalPalette" nicht null ist.

paletteColorResolution byte

Bitte beachten Sie, dass der Parameter verwendet wird, wenn globalPalette’ nicht null ist.

paletteBackgroundColorIndex byte

Die Palette Hintergrundfarbeindex.

aspectRatio byte

Das Aspekt Verhältnis.

hasTrailer bool

wenn das GIF-Bild auf “richtig” festgelegt wird, hat der Trailer sonst kein Trailer am Ende des Streams geschrieben.

Exceptions

ArgumentNullException

Die firstFrame’ kann nicht null sein

ArgumentException

Die firstFrame’ gehört bereits zu einem anderen Bild.

GifImageException

Die globalPalette’ angegeben sollte enthalten, die Anzahl der Einträge entspricht der Leistung von 2. Minimale Palettgröße ist 2, maximale ist 256.

Properties

ActiveFrame

Verwaltung und Manipulation von Framen mit diesem Eigentum, so dass eine fließende Navigation undnderung des aktiven Frames innerhalb des GIF-Bildes.

public GifFrameBlock ActiveFrame { get; set; }

Eigentumswert

GifFrameBlock

Examples

Das folgende Beispiel zeigt, wie Sie alle Blöcke aus einem GIF-Bild entfernen können.

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

Verwaltung der Hintergrundfarbe des GIF-Bilds mit dieser Eigenschaft.Erhalten Sie die Hintergrundfarbe, um Konsistenz zu gewährleisten und die visuelle Attraktion zu verbessern.

public override Color BackgroundColor { get; set; }

Eigentumswert

Color

BackgroundColorIndex

Kontrollieren Sie den Hintergrundfarbeindex des GIF-Bilds mit dieser Eigenschaft.Erhalten Sie den Index, um Konsistenz zu erhalten oder gewünschte visuelle Effekte zu erzielen.

public byte BackgroundColorIndex { get; set; }

Eigentumswert

byte

Blocks

Erhalten Sie Zugang zu den GIF-Blocken unbequem mit dieser Immobilie, die es einfach erleichtertErfassung und Manipulation der zugrunde liegenden Datenstrukturen des Bildes.

public IGifBlock[] Blocks { get; }

Eigentumswert

IGifBlock [][]

FileFormat

Wiederherstellen Sie das Dateiformat mit dieser Eigenschaft. es ist Ihre Go-to-Sourcefür die Identifizierung des Formats Ihrer Dateien. unmittelbar in Ihren Workflow integriert,Es liefert lebenswichtige Informationen ohne Hassle.

public override FileFormat FileFormat { get; }

Eigentumswert

FileFormat

HasBackgroundColor

Diese Eigenschaft bestimmt, ob das GIF-Bild eine Hintergrundfarbe enthält.Wahrlich, es zeigt an, dass das Bild eine Hintergrundfarbe enthält.

public override bool HasBackgroundColor { get; }

Eigentumswert

bool

HasTrailer

Verwenden Sie die Anwesenheit eines Trailers in Ihren GIF-Dateien mit dieser Eigenschaft.müssen prüfen, ob ein Trailer existiert oder seine Anwesenheit festgelegt wird, diese Eigenschaft vereinfacht dieHalten Sie Ihre GIF-Dateien strukturiert und mit dieser intuitiven Funktion vereinbar.

public bool HasTrailer { get; set; }

Eigentumswert

bool

HasTransparentColor

Bestimmen Sie, ob das aktive Rahmen des GIF-Bilds eine transparente Farbe enthält.Diese Immobilie bietet einen bequemen Weg, um die Transparenz innerhalb des Bildes zu überprüfen.

public override bool HasTransparentColor { get; set; }

Eigentumswert

bool

ImageOpacity

Wiederherstellen Sie die Opacität des aktiven Frames innerhalb des Bildes, die Einblicke inihre Transparenz. Diese Eigenschaft ist besonders nützlich, um dieGrad der Transparenz oder Offenheit des aktiven Rahmenes im Bild.

public override float ImageOpacity { get; }

Eigentumswert

float

IsInterlaced

Bestimmt, ob das Bild miteinander verbunden ist, was sein Display während der Ladung beeinflusst.Eigentum bietet Einblicke in das Darstellungsverhalten des Bildes, wesentlich fürOptimierung der Ladestrategien und Verbesserung der Gesamtserfahrung.

public bool IsInterlaced { get; }

Eigentumswert

bool

IsPaletteSorted

Kontrollieren Sie die Sortierung der Palette in Ihren GIF-Bilder mit dieser Eigenschaft.Sie müssen überprüfen, ob die Palette sortiert wird oder das Sortierungsverhalten festgelegt wird, diesEigentum bietet eine einfache Möglichkeit, die Palette-Organisation in IhrerGIF Dateien.

public bool IsPaletteSorted { get; set; }

Eigentumswert

bool

LoopsCount

Retrieve the loop count effortless with this property. Wenn Ihr GIF-Bild enthältLaufinformationen, diese Eigenschaft gibt Ihnen schneller Zugang zum Laufzahlen, ermöglichtSie können das Laufverhalten in Ihren GIF-Dateien unermüdlich verwalten.

public int LoopsCount { get; set; }

Eigentumswert

int

PageCount

Wiederherstellen Sie die Gesamtzahl der Seiten im Bild mit diesemeinfache Eigenschaft. Ideal für die schnelle Beurteilung der Größe des Bildgehaltes.

public override int PageCount { get; }

Eigentumswert

int

Pages

Erhalten Sie Zugang zu den Seiten innerhalb des Bildes durch diese bequeme Eigenschaft,Erlauben Sie unbequeme Navigation und Manipulation von einzelnen Seiten, wie erforderlich.

public override Image[] Pages { get; }

Eigentumswert

Image [][]

PaletteColorResolutionBits

Verwenden Sie die Palettenfarbebeschlichtung Ihrer GIF-Bilder mit dieser Eigenschaft.die Anzahl der Bits, die verwendet werden, um Farben in der Palette zu repräsentieren, die eine gute Kontrolle bietenber Farbtiefe und Bildqualität.

public byte PaletteColorResolutionBits { get; set; }

Eigentumswert

byte

PixelAspectRatio

Verwaltung des Pixel-Affektverhältnisses des GIF-Bildes mit dieser Eigenschaft.das Aspektverhältnis, um eine genaue Darstellung zu gewährleisten und die visuelle Treue zu erhalten.

public byte PixelAspectRatio { get; set; }

Eigentumswert

byte

TransparentColor

Wiederherstellen Sie die transparente Farbe des aktiven Frames im GIF-Bild.ermöglicht Ihnen Zugriff auf die spezifische Farbe, die als transparenter bezeichnet wurdeim derzeit aktiven Rahmen.

public override Color TransparentColor { get; }

Eigentumswert

Color

XmpData

Verwaltung von XMP Metadaten mit dieser Eigenschaft. ob Sie bestehende Metadaten erhebenoder aktualisieren Sie es mit neuen Informationen, diese Eigenschaft verbessert den Prozess.Ihre Metadaten organisiert und zugänglich, um sicherzustellen, dass Ihre Dateien dierelevante Informationen, die sie benötigen.

public override XmpPacketWrapper XmpData { get; set; }

Eigentumswert

XmpPacketWrapper

Methods

AddBlock(IGIFBlock)

Wenn Sie ein neues GIF-Block hinzufügen, können Sie zusätzliche Daten im Bild einfügen.Diese Methode ermöglicht es Ihnen, benutzerdefinierte Blöcke an das GIF-Bild hinzuzufügen, dasSie enthalten verschiedene Arten von Informationen.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

Das GIF-Block zu hinzufügen.

Examples

Das folgende Beispiel zeigt, wie man ein animiertes GIF-Bild aus einzelnen GIF-Blocken komponiert.

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)

Einfügen Sie eine neue Seite unbeweglich in das bestehende Bild ein und verbessern Sie seine Inhalteund seine Reichweite erweitern. Diese Methode erhöht Bilderkollektionen mit zusätzlichenInhalt, die Kreativität und Flexibilität bei Bildmanagement und Zusammensetzung fördern.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Die Seite zu hinzufügen.

Examples

Erstellen Sie mehrseiten GIF-Bild mit einzelnen Seiten-Raster-Bildungen.

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)

Anpassung der Beleuchtung des Bildes nach dem angegebenenBeleuchtungsparameter. Diese Methode ändert die Beleuchtung des gesamten Bildes gleichmäßig, verbessert oder reduziert die Gesamtbeleuchtung, um den gewünschten Effekt zu erreichen.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Brightness Wert ist.

Examples

Das folgende Beispiel führt zu einer GIF-Bildkorrektur.

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

Anpasst den Kontrast des Bildes, verbessert oder reduziert den Unterschied inLicht zwischen Pixeln. Diese Methode ändert das Gesamttonalbereich des Bildes,dunkleren Gebiete dunklerer und hellere Gebiete heller zu machen, um die visuelle Klarheit zu verbessernUnd die Details.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Kontrastwert (in Range [-100; 100])

Examples

Das folgende Beispiel führt eine Kontrastkorrektur eines GIF-Bildes durch.

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

Es kann keinen Kontrast ändern. Frame Index: " + frameIndex

AdjustGamma(Flotte)

Verbessern Sie die Bildqualität durch die Anwendung von Gamma Korrektur. Diese Methode passt die Farbe anGamma des Bildes, um eine optimale visuelle Klarheit zu erzielen. Es ändert die Gamma-Wertevon jedem Pixel, was zu einer verbesserten Farbleistung und dem allgemeinen Bildbild führt.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma für rote, grüne und blaue Kanäle Coefficient

Examples

Das folgende Beispiel führt zur Gamma Korrektur eines GIF-Bildes durch.

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(Flotte, Flotte und Flotte)

Gamma Korrektur eines Bildes gilt für eine nichtlineäre Anpassung an die Pixelwerte,die Erhöhung oder Verringerung der Beleuchtung basierend auf den für das rote angegebenen Koeffizienten,grüne und blaue Kanäle. Diese Methode hilft, die Farbbalance undBeleuchtung des Bildes, Verbesserung des Gesamtbildes und der visuellen Qualität.

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

Parameters

gammaRed float

Gamma für den roten Kanalkoeffizient

gammaGreen float

Gamma für Grünkanalkoeffizient

gammaBlue float

Gamma für Blue Channel Coefficient

Examples

Das folgende Beispiel führt eine Gamma Korrektur eines GIF-Bildes durch, das verschiedene Koeffizienten für Farbkomponenten anwendet.

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

Binarisierung eines Bildes mit Bradley’s Adaptive Thresholding AlgorithmIntegrale Bildgrenze ist eine Methode zur Umwandlung eines grayscale Bildes in eineDieses Algorithmus berechnet eine lokale Grenze für jeden Pixel basierend aufdie durchschnittliche Intensität der umliegenden Pixel innerhalb eines angegebenen Fensters.adaptive Anpassung der Grenze basierend auf lokalen Pixelintensitäten, Bradley’sDie Methode ist effektiv bei der Bewältigung von Variationen im Licht und im Kontrast über das Bild.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Der Lichtunterschied zwischen dem Pixel und dem Durchschnitt eines s x s Fensters von Pixeln, die um diesen Pixel zentriert sind.

BinarizeFixed(byte)

Binarisierung eines Bildes mit einem vordefinierten Grenzwert umwandelt eine Grau- oder FarbeBild in eine binäre Bild, wo jedes Pixel als schwarz oder weiß klassifiziert wirdAbhängig davon, ob der Intensitätswert einen bestimmten Grenzwert überschreitet.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Wenn der entsprechende graue Wert eines Pixels größer ist als der Grenzwert, wird ihm ein Wert von 255 zugeordnet, 0 sonst.

Examples

Das folgende Beispiel binarisiert ein GIF-Bild mit der vordefinierten Grenze. binarisierte Bilder enthalten nur 2 Farben - schwarz und wei.

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

Binarisierung eines Bildes mit Otsu-Grenze ist eine Methode, die automatisch verwendet wirdbestimmen Sie den optimalen Grenzwertwert für die Umwandlung eines grayscale Bildes in eineDas Otsu-Bereich-Algorithmus berechnet die Grenze, dieminimiert die intra-Klasse-Varianz der Pixelintensitäten in den beiden resultierendenKlasse (vorgrund und Hintergrund). Diese Technik ist besonders nützlich, wennDer optimale Grenzwert ist unbekannt und muss adaptiv ermittelt werden.auf dem Histogram des Bildes.

public override void BinarizeOtsu()

Examples

Das folgende Beispiel binarisiert ein GIF-Bild mit Otsu-Grenze. binarisierte Bilder enthalten nur 2 Farben - schwarz und wei.

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

Die Reinigung aller GIF-Blocke entfernt alle vorhandenen Daten, die im Bild gespeichert werden.Diese Operation nimmt das Bild effizient in einen leeren Zustand zurück und entfernt allevorher hinzugefügt Blöcke. Verwenden Sie diese Methode, wenn Sie mit einem sauberenSlate, um ein GIF-Bild zu erstellen oder zu modifizieren.

public void ClearBlocks()

Examples

Das folgende Beispiel zeigt, wie Sie alle Blöcke aus einem GIF-Bild entfernen können.

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)

Pflanzen Sie das Bild mit einem angegebenen rechteckigen Bereich. Diese Operation entfernt die AußenseiteTeil des Bildes, die nur die ausgewählte Region hinterlässt, die durch den rechteckigen Bereich definiert wird.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Die rechte Ecke.

Examples

Das folgende Beispiel erzeugt ein GIF-Bild. Die Erntefläche wird über Aspose.Imaging.Rectangle angegeben.

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)

Anwendung Dithering auf das aktuelle Bild. Dieser Prozess verbessert die Bildqualität durchVerringerung der Farbbindung und Verbesserung der Farbübergänge, was zu einer glänzerenDas Aussehen.

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

Parameters

ditheringMethod DitheringMethod

Die Dithering Methode.

bitsCount int

Die letzten Bits zählen für Dithering.

customPalette IColorPalette

Die gewöhnliche Palette für Dithering.

Examples

Das folgende Beispiel laden ein GIF-Bild auf und führt mit unterschiedlichen Palettentiefen die Grenze und die Fluid-Dithering durch.

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)

Anwenden Sie einen bestimmten Filter auf das angegebenen Gebiet des Bildes, verbessern Sie seine visuelleQualität oder Änderung seines Erscheinungsbildes wie gewünscht. Diese Methode selektiv verarbeitetPixel innerhalb des definierten Rechteckens, die gezielte Anpassungen ermöglichenZur Erhaltung der Integrität der umliegenden Bilddaten.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Die rechte Ecke.

options FilterOptionsBase

Die Optionen.

Examples

Das folgende Beispiel gilt für verschiedene Arten von Filtern für ein 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()

Wiederherstellen der ursprünglichen Datei-Einstellungen basierenden Optionen, die für die Erhaltung der Treue entscheidend sindund Konsistenz in der Bildverarbeitung und Manipulation. Diese Methode ermöglichtdie Integration von Datei-spezifischen Parameter in die nachfolgenden Operationen, dieGenauere Übertragung und Einhaltung der inherenten Eigenschaften des Bildes.Dies kann hilfreich sein, Bit-Dichte und andere Parameter des ursprünglichen Bildes unverändert zu halten.Zum Beispiel, wenn wir ein schwarz-weißes PNG-Bild mit 1 Bit pro Pixel laden und es dann mit derAspose.Imaging.DataStreamSupporter.Save(System.String) Methode, wird das Ausgang PNG Bild mit 8-Bit pro Pixel produziert.Um es zu vermeiden und PNG-Bild mit 1 Bit pro Pixel zu speichern, verwenden Sie diese Methode, um die entsprechenden Speicheroptionen zu erhalten und sie durchzuführen.auf die Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) Methode als den zweiten Parameter.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Die Optionen basieren auf den ursprünglichen Dateiinstellungen.

Grayscale()

Die Umwandlung eines Bildes in seine grauskuläre Darstellung verwandelt die FarbeBild in eine grayscale Version durch die Entfernung von Farbinformationen während der ErhaltungDieser Prozess vereinfacht das Bild zu Schatten von Grau, so dass es geeignet istfür verschiedene Anwendungen wie Druck, Dokumentverarbeitung und GrayscaleDie Analyse.

public override void Grayscale()

Examples

Das folgende Beispiel verwandelt ein farbiges GIF-Bild in seine grayscale-Repräsentation. Grayscale-Bildungen bestehen ausschließlich aus grauen Schatten und tragen nur Intensitätsinformationen.

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

Mit der Einführung eines neuen GIF-Blocks können Sie an einer bestimmten Position benutzerdefinierte Daten hinzufügen.Diese Methode ermöglicht es Ihnen, benutzerdefinierte Blöcke an einem gewünschtenPlatzierung im GIF-Bild, die Flexibilität bei der Organisation und Strukturierung derBilddaten zu sehen.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Das nullbasierte Element, an welchem Block eingeführt werden wird.

block IGifBlock

Das GIF-Block zu hinzufügen.

OnPaletteChanged(IColorPalette und IColorPalette)

Anrufen, wenn die Palette geändert wird.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Die alte Palette.

newPalette IColorPalette

Die neue Palette.

OnPaletteChanging(IColorPalette und IColorPalette)

Es wird angerufen, wenn sich die Palette ändert.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Die alte Palette.

newPalette IColorPalette

Die neue Palette.

OrderBlocks()

Die Bestellung der GIF-Block nach der GIF-Spezifikation gewährleistet den richtigen GIFLayout und Einhaltung des Standards.Dieser Prozess beinhaltet dieBlöcke in der richtigen Sequenz, wie durch die Spezifikation definiert.kann die Entfernung bestimmter Aspose.Imaging.FileFormats.Gif.Blocks.GifGraphicsControlBlock Beispiele beinhalten, dienicht für die endgültige Layout erforderlich. durch Einhaltung der GIF-Spezifikation, dieDas resultierende Bild wird ordnungsgemäß strukturiert und mit GIF-Übersicht kompatibel seinAnwendungen zu machen.

public void OrderBlocks()

RemoveBlock(IGIFBlock)

Die Entfernung eines GIF-Blocks entfernt bestimmte Daten aus dem Bild und bietet die Fähigkeit,Reinigen oder ändern Sie die Bildstruktur. Diese Methode ermöglicht es Ihnen, unerwünschte zu entfernenoder unnötige Blöcke, die das GIF-Bild für eine effiziente Speicherung optimieren.Funktionalität, um veraltete Informationen aus dem Bild zu entfernen, währendIhre Integrität und Qualität.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Der Block zu entfernen.

Remarks

Hinweis: Vergessen Sie nicht, den Block aufzustellen, wenn Sie ihn nicht zu anderen GifImage hinzufügen.

Resize(int, int, ResizeType)

Wiederherstellen Sie dieses Aspose.Imaging.Image Beispiel.

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

Parameters

newWidth int

Die neue Breite.

newHeight int

Die neue Höhe.

resizeType ResizeType

Die Resize Art.

Examples

Dieses Beispiel laden ein GIF-Bild auf und resisiert es mit verschiedenen Resisierungsmethoden.

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)

Wiederherstellen Sie dieses Aspose.Imaging.Image Beispiel.

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

Parameters

newWidth int

Die neue Breite.

newHeight int

Die neue Höhe.

settings ImageResizeSettings

Die Einrichtungen.

Examples

Dieses Beispiel laden ein GIF-Bild auf und resiziert es mit verschiedenen Resizing-Einstellungen.

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)

Wiederherstellung des Bildes unter Berücksichtigung der vollständigen Rahmen für jede Seite in einerGIF, wodurch mögliche Artefakte nicht erscheinen. Diese Methode ist wichtigzur Erhaltung der Integrität und Qualität des Bildes, vor allem bei derAnimierte GIFs oder Sequenzen von Framen.

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

Parameters

newWidth int

Die neue Breite.

newHeight int

Die neue Höhe.

resizeType ResizeType

Die Resize Art.

ResizeProportional(int, int, ResizeType)

Die verhältnismäßige Resisierung behält das Aspektverhältnis des Bildes während der Anpassung der Größe, um sicherzustellen, dass das Bild nicht verlängert oder verzerrt erscheint. Diese Methode resisiert das Bild verhältnismäßig, die sowohl die Breite als auch die Höhe durch den gleichen Faktor skaliert.Die verhältnismäßige Resisierung wird jedes Rahmen nach dem Verhältnis von newWidth’/width und newHeight’/height resisieren.

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

Parameters

newWidth int

Die neue Breite.

newHeight int

Die neue Höhe.

resizeType ResizeType

Die Resize Art.

Rotate(Float, Bool, Farbe)

Diese Methode dreht das Bild um seinen zentralen Punkt.Winkel, können Sie das Bild Uhr oder Gegen Uhr drehen, um diegewünschte Orientierung. Diese Rotation hilft, die Darstellung des Bildes oderAnpassung ohne Verzerrung des Inhalts.

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

Parameters

angle float

Der Rotationswinkel in Grad. Positive Werte werden die Uhr drehen.

resizeProportionally bool

Wenn Sie auf ’true’ festgelegt sind, ändert sich Ihre Bildgröße nach rotierten rektangeln (Kornpunkte) Projektionen in anderen Fällen, die Dimensionen unberührt lassen und nur interne Bildgehalte rotierten.

backgroundColor Color

Farbe des Hintergrunds.

RotateFlip(RotateFlipType)

Durchführen Sie Rotation, Flipping oder beide auf dem aktiven Rahmen ausschließlich.die Transformationen ausschließlich auf den derzeit aktiven Rahmen des Bildes anwenden,die Integrität anderer Frame in der Folge zu bewahren.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Der Rotate Flip Typ.

Examples

Dieses Beispiel laden ein GIF-Bild auf, dreht es um 90 Grad Uhr und flipt optionell das Bild horizontaler und/oder vertikalerweise.

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)

Sparen Sie die Daten.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Der Stream, um die Daten zu speichern.

SetFrameTime(Gewissheit)

Anpassung der Dauer jedes Frames in Millisekunden, sorgt für eine konsistente Timingwährend der Bildsequenz. Diese Methode legt die Zeitraum fürjede Frame, die eine genaue Kontrolle über die Animationsgeschwindigkeit ermöglicht.Die Änderung dieser Werte wird die Verzögerung für alle Frame wieder herstellen.

public void SetFrameTime(ushort time)

Parameters

time ushort

Die Frame-Zeit in Millisekunden.

UpdateDimensions(und int, int)

Aktualisieren Sie die Bilddimensionen.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Die neue Bildweite.

newHeight int

Die neue Bildhöhe.

 Deutsch