Class GifImage

Class GifImage

Nazwa przestrzeń: Aspose.Imaging.FileFormats.Gif Zgromadzenie: Aspose.Imaging.dll (25.4.0)

API dla graficznego formatu wymiany (GIF) plik obrazu zapewniaprogramistów z wszechstronnymi narzędziami do przetwarzania kompresowanych obrazów rasterowych orazanimowane GIF. oferuje funkcje takie jak obsługa metadanych XMP, paleta kolorówustawienia, tło i przejrzyste kontrola koloru, ustawień nieprzejrzałości, resize,crop, aplikacja filtra, korekty gamma, dostosowanie kontrastu, grayscaleprzekształcenie i konwersja do innych formatów. ta API umożliwia bezprzewodoweManipulacja i ulepszanie obrazów GIF dla szerokiej gamy aplikacji.

[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

Dziedziczeni członkowie

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

Eksportowanie części animacji z obrazu GIF w oparciu o okres czasu.

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

Ten przykład pokazuje, jak utworzyć obraz GIF i zapisać go do pliku.

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

Tworzenie wielokierunkowego obrazu GIF za pomocą obrazów rasterów jednej strony.

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)

Rozpocznij nowy obiekt Aspose.Imaging.FileFormats.Gif. GifImage z określonymi parametrami dlaPierwszy ramy i globalna paleta. zacznij zarządzać obrazami GIF szybko, zapewniającDokładna reprezentacja z dostosowywanymi ustawieniami dla optymalnych wyników.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Pierwszy ramy do inicjalizacji obrazu gif z.

globalPalette IColorPalette

Należy pamiętać, że jeśli zarówno firstFrame’ jak i <cod class=paramaf">globalPalette’ są zerowe, używa się domyślnej globalnej palety.

Examples

Ten przykład pokazuje, jak utworzyć obraz GIF z przyrządzoną paletą i przechowywać go do pliku.

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’ nie może być null

ArgumentException

firstFrame’ już należy do innego obrazu.

GifImageException

globalPalette’ określone powinny zawierać liczbę wpisów równych mocy 2. Minimalny rozmiar palety jest 2, maksymalny jest 256.

GifImage(GifFrameBlock)

Tworzenie obrazów GIF staje się bezproblemowe z Aspose.Imaging.FileFormats.Gif.Konstruktor. z tylko pierwszym parametrem Frame wchodzi w świat dynamikiKomunikacja wizualna .

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Pierwszy ramy do inicjalizacji obrazu gif z.

Examples

Ten przykład pokazuje, jak utworzyć obraz GIF i zapisać go do pliku.

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

Poniższy przykład pokazuje, jak tworzyć animowany obraz GIF z poszczególnych bloków Gif.

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’ nie może być null

ArgumentException

firstFrame’ już należy do innego obrazu.

GifImageException

Wyznaczona paleta musi zawierać liczbę wpisów równą mocy 2. Minimalna wielkość palety wynosi 2, maksymalna jest 256.

GifImage(GifFrameBlock, IColorPalette, Bool, Byte, Byt, byt, bool)

Zacznij bez wysiłku za pomocą konstruktora Aspose.Imaging.FileFormats.Gif.prosty sposób, można zanurzyć się w tworzeniu animowanych GIF z łatwością.firstFrame, globalPalette, paletteColorResolution, aspectRatio i inneparametry, i jesteś gotowy, aby przynieść swoje wizje do życia.

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

Parameters

firstFrame GifFrameBlock

Pierwszy ramy do inicjalizacji obrazu gif z.

globalPalette IColorPalette

Należy pamiętać, że jeśli zarówno firstFrame’ jak i <cod class=paramaf">globalPalette’ są zerowe, używa się domyślnej globalnej palety.

isPaletteSorted bool

Pamiętaj, że parametr jest używany, gdy globalPalette" nie jest zerowy.

paletteColorResolution byte

Uwaga: parametr jest używany, gdy globalPalette’ nie jest zero.

paletteBackgroundColorIndex byte

Wskaźnik kolorów palety.

aspectRatio byte

W stosunku do aspektu.

hasTrailer bool

Jeśli ustawiono na “prawdziwy” zdjęcie gif ma trailer w przeciwnym razie żaden trailer napisany na końcu strumienia.

Exceptions

ArgumentNullException

firstFrame’ nie może być null

ArgumentException

firstFrame’ już należy do innego obrazu.

GifImageException

globalPalette’ określone powinny zawierać liczbę wpisów równych mocy 2. Minimalny rozmiar palety jest 2, maksymalny jest 256.

Properties

ActiveFrame

Zarządzanie i manipulowanie ramami z tą własnością, umożliwiając płynną nawigację iModyfikacja aktywnej ramki w obrazie GIF.

public GifFrameBlock ActiveFrame { get; set; }

Wartość nieruchomości

GifFrameBlock

Examples

Poniższy przykład pokazuje, jak usunąć wszystkie bloki z obrazu 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

Zarządzaj kolorem tła obrazu GIF za pomocą tej właściwości. można ustawić lubodzyskanie koloru tła, aby zapewnić spójność i zwiększyć atrakcyjność wizualną.

public override Color BackgroundColor { get; set; }

Wartość nieruchomości

Color

BackgroundColorIndex

Sprawdź indeks kolorów tła obrazu GIF za pomocą tej właściwości.odzyskanie indeksu w celu utrzymania spójności lub uzyskania pożądanych efektów wizualnych.

public byte BackgroundColorIndex { get; set; }

Wartość nieruchomości

byte

Blocks

Zdobądź dostęp do bloków GIF bezprzewodowo z tą nieruchomością, ułatwiając łatweOdzyskiwanie i manipulacja podstawowych struktur danych obrazu.

public IGifBlock[] Blocks { get; }

Wartość nieruchomości

IGifBlock [ ]

FileFormat

Odzyskuj format pliku bez wysiłku z tą własnością. jest to twój go-to źródłoaby zidentyfikować format plików. bezwzględnie zintegrowane z twoim przepływem pracy,Zapewnia niezbędne informacje bez żadnych kłopotów.

public override FileFormat FileFormat { get; }

Wartość nieruchomości

FileFormat

HasBackgroundColor

Ta właściwość określa, czy obraz GIF zawiera kolor tła.Prawda jest taka, że obraz zawiera kolor tła.

public override bool HasBackgroundColor { get; }

Wartość nieruchomości

bool

HasTrailer

Zarządzaj obecnością trailera w plikach GIF z tą własnością.trzeba sprawdzić, czy trailer istnieje lub ustawić jego obecność, to właściwość ułatwiaUtrzymuj swoje pliki GIF strukturowane i zgodne z tą intuicyjną funkcją.

public bool HasTrailer { get; set; }

Wartość nieruchomości

bool

HasTransparentColor

Określ, czy aktywny ramy obrazu GIF zawierają przejrzysty kolor.Ta nieruchomość zapewnia wygodny sposób na sprawdzenie przejrzystości w obrazie.

public override bool HasTransparentColor { get; set; }

Wartość nieruchomości

bool

ImageOpacity

Odzyskuje niepowtarzalność aktywnego ramy wewnątrz obrazu, oferując wgląd wjego poziom przejrzystości. ta właściwość jest szczególnie przydatna do zrozumieniastopień przejrzystości lub niejasności aktywnego ramy w obrazie.

public override float ImageOpacity { get; }

Wartość nieruchomości

float

IsInterlaced

Określa, czy obraz jest połączony, wpływając na jego wyświetlanie podczas ładowania.własność oferuje wgląd w zachowanie renderowania obrazu, niezbędne doOptymalizacja strategii ładowania i poprawa ogólnego doświadczenia przeglądania.

public bool IsInterlaced { get; }

Wartość nieruchomości

bool

IsPaletteSorted

Sprawdź sortowanie palety w obrazach GIF za pomocą tej właściwości.musisz sprawdzić, czy paleta jest wyróżniona lub ustawić zachowanie, toWłaściwość zapewnia prosty sposób zarządzania paletą organizacji w TwoimDane z GIF.

public bool IsPaletteSorted { get; set; }

Wartość nieruchomości

bool

LoopsCount

Zrezygnuj z liczby kręgosłupa bez wysiłku z tą nieruchomością. Jeśli Twój obraz GIF zawieraInformacje o objętościach, ta nieruchomość daje szybki dostęp do liczby obciążeń, umożliwiającMożesz bezwzględnie zarządzać behawiorem w plikach GIF.

public int LoopsCount { get; set; }

Wartość nieruchomości

int

PageCount

Odzyskać całkowitą liczbę stron zawartych w obrazie z tymIdealny do szybkiego oceny zakresu treści obrazu.

public override int PageCount { get; }

Wartość nieruchomości

int

Pages

uzyskanie dostępu do stron wewnątrz obrazu za pośrednictwem tej wygodnej nieruchomości,umożliwiając bezprzewodową nawigację i manipulację poszczególnymi stronami w razie potrzeby.

public override Image[] Pages { get; }

Wartość nieruchomości

Image [ ]

PaletteColorResolutionBits

Zarządzaj rozdzielczością koloru palety zdjęć GIF za pomocą tej właściwości.liczba bitów używanych do reprezentowania kolorów w palecie, zapewniając delikatną kontrolęGłębokość koloru i jakość obrazu.

public byte PaletteColorResolutionBits { get; set; }

Wartość nieruchomości

byte

PixelAspectRatio

Zarządzaj stosunkiem aspektu piksela obrazu GIF z tą właściwością. ustawić lub odzyskaćstosunek aspektowy w celu zapewnienia dokładnego renderowania i utrzymania wierności wizualnej.

public byte PixelAspectRatio { get; set; }

Wartość nieruchomości

byte

TransparentColor

Odzyskanie przejrzystego koloru aktywnego ramy w obrazie GIF.umożliwia dostęp do konkretnego koloru, który został oznaczony jako przejrzystyw ramach obecnej aktywności.

public override Color TransparentColor { get; }

Wartość nieruchomości

Color

XmpData

Zarządzaj metadany XMP z tą własnością. czy otrzymujesz istniejące metadylub aktualizować go z nowymi informacjami, ta nieruchomość ułatwia proces.Twoje metadane są zorganizowane i dostępne, zapewniając, że pliki zawierająIstotne informacje, których potrzebują.

public override XmpPacketWrapper XmpData { get; set; }

Wartość nieruchomości

XmpPacketWrapper

Methods

AddBlock(IGIFBlock)

Dodanie nowego bloku GIF umożliwia włączenie dodatkowych danych do obrazu.Metoda ta umożliwia dodanie bloków dostosowanych do obrazu GIF, które mogąZawiera różne rodzaje informacji.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

Blok GIF do dodania.

Examples

Poniższy przykład pokazuje, jak tworzyć animowany obraz GIF z poszczególnych bloków Gif.

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)

Włączyć nową stronę bezprzewodowo do istniejącego obrazu, poprawiając jego zawartośći rozszerzyć jego zakres. ta metoda zwiększa kolekcje obrazów z dodatkowymiTworzenie treści, wspieranie kreatywności i elastyczności w zarządzaniu obrazem i kompozycji.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Strona do dodania.

Examples

Tworzenie wielokierunkowego obrazu GIF za pomocą obrazów rasterów jednej strony.

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)

Dostosowuje jasność obrazu zgodnie z określonymi parametrami jasności . ta metoda modyfikuje jasność całej obrazy w sposób jednolity, poprawiając lub zmniejszając ogólną światłość, aby osiągnąć pożądany efekt.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Wartość jasności .

Examples

Poniższy przykład wykonuje poprawę jasności obrazu 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(Floty)

Dostosowuje kontrast obrazu, poprawiając lub zmniejszając różnicę wjasność między pikseli. ta metoda zmienia ogólny zakres tonu obrazu,sprawiają, że ciemniejsze obszary są cieplejsze i jasniejsze, aby zwiększyć jasność wizualnąi szczegółów.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Wartość kontrastu (w zakresie [-100; 100])

Examples

Poniższy przykład wykonuje kontrast korekty obrazu 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

Nie można zmienić kontrastu. indeks ramowy: " + frameIndex

AdjustGamma(Floty)

Poprawa jakości obrazu poprzez zastosowanie korekty gamma. ta metoda dostosowuje kolorgamma obrazu w celu uzyskania optymalnej jasności wizualnej. zmienia wartość gammaz każdego piksela, co prowadzi do poprawy renderowania kolorów i ogólnego wyglądu obrazu.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma dla współczynnika czerwonych, zielonych i niebieskich kanałów

Examples

Poniższy przykład wykonuje korektę gamma obrazu 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(float, float i float)

Gamma-korekcja obrazu ma zastosowanie do nielinearnej dostosowania do wartości pikseli,zwiększenie lub zmniejszenie jasności w oparciu o określone współczynniki dla czerwonego,zielone i niebieskie kanały. ta metoda pomaga uspokoić równowagę kolorów iŚwiatłość obrazu, poprawa jego ogólnego wyglądu i jakości wizualnej.

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

Parameters

gammaRed float

Gamma dla współczynnika czerwonego kanału

gammaGreen float

Gamma dla współczynnika zielonego kanału

gammaBlue float

Gamma dla współczynnika niebieskiego kanału

Examples

Poniższy przykład wykonuje gamma-korekcję obrazu GIF stosując różne współczynniki dla komponentów kolorów.

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(Podwójne)

Binaryzacja obrazu za pomocą adaptowego algorytmu granicznego BradleyaIntegral image thresholding jest metodą przekształcania obrazu grayscale wTen algorytm oblicza lokalny próg dla każdego piksela na podstawieśrednia intensywność otaczających pikseli w określonym oknie.adaptacyjnie dostosowywać granicę w oparciu o lokalną intensywność pikseli, Bradley’sMetoda jest skuteczna w radzeniu sobie z odmianami oświetlenia i kontrastu na całym obrazie.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Różnica jasności pomiędzy pikselem a średnią s x s okna pikseli skoncentrowane wokół tego piksela.

BinarizeFixed(byte)

Binaryzacja obrazu z uprzednio zdefiniowaną granicą przekształca szary skala lub kolorobraz w obrazie binarnym, w którym każdy piksel jest klasyfikowany jako czarny lub białyw zależności od tego, czy wartość intensywności przekracza określony limit.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Jeśli odpowiednia szara wartość piksela jest większa niż granica, wartość 255 zostanie przypisana do niego, 0 inaczej.

Examples

Poniższy przykład binaryzuje obraz GIF z uprzednio zdefiniowaną granicą. obrazy binarizowane zawierają tylko 2 kolory - czarny i biały.

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

Binaryzacja obrazu z granicą Otsu to metoda wykorzystywana do automatycznegookreślić optymalną wartość graniczną do konwersji obrazu grayscale naAlgorytm graniczny Otsu oblicza granicę, któraminimalizuje zmienność wewnątrzklasy intensywności pikseli w dwóch wynikającychklasy (przedziemne i tło). ta technika jest szczególnie przydatna, gdyoptymalna wartość graniczna jest nieznana i musi być ustalona na podstawie dostosowaniaw histogramie obrazu.

public override void BinarizeOtsu()

Examples

Poniższy przykład binaryzuje obraz GIF z granicą Otsu. obrazy binarizowane zawierają tylko 2 kolory - czarny i biały.

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

Usuwanie wszystkich bloków GIF usuwa wszystkie istniejące dane przechowywane w obrazie.Ta operacja skutecznie odtwarza obraz w pusty stan, usuwając wszystkieużyj tej metody, gdy trzeba zacząć świeże z czystejUmożliwia tworzenie lub modyfikację obrazu GIF.

public void ClearBlocks()

Examples

Poniższy przykład pokazuje, jak usunąć wszystkie bloki z obrazu 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)

Uprawa obrazu przy użyciu określonego obszaru prostokątnego. ta operacja usuwa zewnętrznyczęść obrazu, pozostawiając tylko wybraną strefę określoną przez prostokąt.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

z rektangulą .

Examples

Poniższy przykład zawiera obraz GIF. Obszar gromadzenia jest określony za pośrednictwem 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(DitheringMetoda, int, IColorPalette)

Zastosuj dytywanie do bieżącego obrazu. proces ten poprawia jakość obrazów przezzmniejszenie barwienia i poprawa przejścia kolorów, co prowadzi do gładkiejWygląd .

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

Parameters

ditheringMethod DitheringMethod

Metoda dystrybucji .

bitsCount int

Ostatnie bity liczą na dystrybucję.

customPalette IColorPalette

Przygotowuje się paletę do Dithering.

Examples

Poniższy przykład ładuje obraz GIF i wykonuje granicę i przepływ dystrybucji za pomocą różnych głębokości palety.

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)

Stosuj konkretny filtr do określonego obszaru obrazu, poprawiając jego wizualnośćjakości lub zmienić jego wygląd zgodnie z życzeniem. ta metoda selektywnie przetwarzapikseli w określonym rektanglu, umożliwiając dokonanie celowych dostosowaniazachowanie integralności otaczających danych obrazowych.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

z rektangulą .

options FilterOptionsBase

i opcji .

Examples

Poniższy przykład stosuje różne rodzaje filtrów do obrazu 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()

Odzyskanie oryginalnych opcji opartych na ustawieniach plików, które są niezbędne do utrzymania lojalnościi spójność w procesie obrazu i manipulacji. ta metoda umożliwia bezprzewodoweintegracja parametrów specyficznych dla plików do późniejszych operacji, zapewniającprecyzyjna oddanie i zgodność z wrodzonymi cechami obrazu.To może być przydatne, aby utrzymać głębokość i inne parametry oryginalnego obrazu niezmienione.Na przykład, jeśli ładujemy czarno-biały obraz PNG o 1 bit na piksel, a następnie przechowujemy go za pomocąAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, wydajny obraz PNG z 8-bitowym na piksel zostanie wyprodukowany.Aby tego uniknąć i zaoszczędzić obraz PNG z 1 bitem na piksel, użyj tej metody, aby uzyskać odpowiednie opcje oszczędnościowe i przejść jedo metody Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) jako drugiego parametru.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opcje oparte na oryginalnych ustawieniach pliku.

Grayscale()

Przekształcenie obrazu w jego grayscale przekształca kolorobraz w wersji grayscale poprzez usunięcie informacji o kolorze podczas zachowaniaProces ten upraszcza obraz do odcieni szary, co sprawia, że jest odpowiednidla różnych aplikacji, takich jak drukowanie, przetwarzanie dokumentów i grayscalew analizie .

public override void Grayscale()

Examples

Poniższy przykład przekształca kolorowy obraz GIF w jego reprezentację grayscale. obrazy Graysscale składają się wyłącznie z odcieni szary i przynoszą tylko informacje o intensywności.

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(Tłumaczenie: IGIFBlock)

Wstawianie nowego bloku GIF umożliwia dodanie dostosowanych danych w określonym miejscuMetoda ta umożliwia umieszczanie bloków dostosowanych do pożądanejlokalizacja w obrazie GIF, zapewniając elastyczność w organizacji i strukturzeDane z obrazu.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Element oparty na zero, do którego bloku zostanie włożony.

block IGifBlock

Blok GIF do dodania.

OnPaletteChanged(Kolorów, Kolorów)

Zastanawiamy się, kiedy paleta się zmienia.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Stara paleta

newPalette IColorPalette

Nowa paleta

OnPaletteChanging(Kolorów, Kolorów)

Nazywa się wtedy, gdy paleta się zmienia.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Stara paleta

newPalette IColorPalette

Nowa paleta

OrderBlocks()

Porządkowanie bloków GIF zgodnie ze specyfikacją Gif zapewnia odpowiednie gIFrozmieszczenie i zgodność ze standardem. proces ten obejmuje aranżacjębloków w prawidłowej sekwencji określonej przez specyfikację. dodatkowo,może wiązać się z usunięciem niektórych instancji Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock, którenie są wymagane do ostatecznego układu. poprzez przestrzeganie specyfikacji GIF,wynik obrazu będzie prawidłowo zorganizowany i kompatybilny z widokiem GIFAplikacje .

public void OrderBlocks()

RemoveBlock(IGIFBlock)

Usuwanie bloku GIF usuwa konkretne dane z obrazu, oferując możliwośćczyszczenie lub modyfikacja struktury obrazu. ta metoda pozwala usunąć niepożądanelub niepotrzebne bloki, optymalizując obraz GIF dla efektywnego przechowywania.Funkcjonalność usuwania przestarzałych informacji z obrazu podczas zachowaniaJego integralność i jakość.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Blok do usunięcia.

Remarks

Uwaga: nie zapomnij umieścić bloku, jeśli nie dodasz go do innych GifImage.

Resize(int, int, resizeType)

Zrezygnować to Aspose.Imaging.Image instancja.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

resizeType ResizeType

Ten rodzaj rewizji.

Examples

Ten przykład ładuje obraz GIF i odtwarza go za pomocą różnych metod odświeżania.

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)

Zrezygnować to Aspose.Imaging.Image instancja.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

settings ImageResizeSettings

i ustawień .

Examples

Ten przykład ładuje obraz GIF i odtwarza go przy użyciu różnych ustawień odświeżania.

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)

Odtwarzanie obrazu, biorąc pod uwagę pełne ramy dla każdej strony wGIF, w ten sposób zapobiega pojawieniu się potencjalnych artefaktów.w celu utrzymania integralności i jakości obrazu, zwłaszcza jeśli chodzi oanimowane gify lub sekwencje ram.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

resizeType ResizeType

Ten rodzaj rewizji.

ResizeProportional(int, int, resizeType)

Proporcjonalne odświeżanie utrzymuje stosunek aspektowy obrazu podczas dostosowania jego rozmiaru, zapewniając, że obraz nie wydaje się rozciągany lub zniekształcony. ta metoda odpowiada obraz proporcjonalnie, skalając zarówno szerokość, jak i wysokość przez ten sam czynnik.Porównomierna ponowna wielkość przekształci każdy ramy zgodnie z stosunkiem newWidth’/width i newHeight'.

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

Parameters

newWidth int

Nowa szerokość .

newHeight int

Nowa wysokość .

resizeType ResizeType

Ten rodzaj rewizji.

Rotate(Float, Bool, Kolor)

Metoda ta rotuje obraz wokół jego punktu centralnego. określając rotacjęWęgiel, można obrócić obraz w sposób zegarkowy lub counter-godzinny, aby osiągnąćta rotacja pomaga dostosować prezentację obrazu lubZrozumienie bez zniekształcenia treści.

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

Parameters

angle float

Kąt obrotowy w stopniach. wartości pozytywne będą obrotować zegarem.

resizeProportionally bool

Jeśli ustawisz na “prawdziwy”, zmienisz rozmiar obrazuw zależności od obrotowych projekcji rektangularnych (punktu węgielnego) w innym przypadku, które pozostawiają wymiary nie dotknięte i tylko wewnętrzne treści obrazów są obrotowane.

backgroundColor Color

Kolor z tła.

RotateFlip(RotateFlipType)

Wykonaj rotację, flipping lub obie na aktywnym ramy wyłącznie.zastosowanie transformacji wyłącznie do obecnej aktywnej ramki obrazu,Zachowanie integralności innych ram w sekwencji.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Rodzaj rotacji flip.

Examples

Ten przykład ładuje obraz GIF, rotuje go o 90 stopni w świetle zegara i opcjonalnie flips obraz horyzontalnie i (lub) pionowo.

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)

Oszczędzaj dane.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Przepływ do przechowywania danych do.

SetFrameTime(wstrząsać)

Dostosowuje długość każdego ramy w milisekundach, zapewniając spójny czasw całej sekwencji obrazu. ta metoda równomiernie określa czas wyświetlania dlakażde ramy, umożliwiające dokładną kontrolę nad prędkością animacji.Zmiana tej wartości ponownie spowoduje opóźnienie dla wszystkich ram.

public void SetFrameTime(ushort time)

Parameters

time ushort

Czas trwania ram w milisekundach.

UpdateDimensions(i int, int)

Aktualizacja wymiarów obrazu.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Nowy widok obrazu.

newHeight int

Nowa wysokość obrazu.

 Polski