Class GifImage

Class GifImage

nazivni prostor: Aspose.Imaging.FileFormats.Gif Sastav: Aspose.Imaging.dll (25.4.0)

API za Graphical Interchange Format (GIF) datoteka slike pružarazvijatelji s sveobuhvatnim alatima za obradu komprimiranih rasterskih slika ianimirani GIF-ovi. nude funkcije kao što su XMP metadata, paleta bojapostavke, pozadina i transparentna kontrola boja, postavki opacity, recize,uzgoj, primjena filtera, gamma korekcije, kontrast prilagodbe, grayscaletransformacija, i konverzija na druge formate. ova API omogućuje bespomoćnomanipulacija i poboljšanje GIF slike za širok raspon aplikacija.

[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

naslijeđeni članovi

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

Izvoz dijela animacije iz GIF slike na temelju vremenskog intervala.

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

Ovaj primjer pokazuje kako stvoriti GIF sliku i sačuvati je u datoteku.

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

Stvorite više stranica GIF slike pomoću pojedinačnih stranica raster slike.

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(Sljedeći članakGifFrameBlock, IColorPalette)

Počnite s novim Aspose.Imaging.FileFormats.Gif.DifImage objekt s određenim parametrima zaprvi okvir i globalna paleta. počnite brzo upravljati GIF slikama, osiguravajućitočan prikaz s prilagodljivim postavkama za optimalne rezultate.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Prvi okvir za inicijaliziranje gif slike s.

globalPalette IColorPalette

Imajte na umu da ako su i firstFrame’ i “code class”=“premf”>globalPalette’ nula, onda se koristi podrazumevani globalni palet.

Examples

Ovaj primjer pokazuje kako stvoriti GIF sliku s prilagođenom paletom i sačuvati ga u datoteku.

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’ ne može biti nula

ArgumentException

firstFrame’ već pripada nekoj drugoj slici.

GifImageException

globalPalette’ navedeno bi trebalo sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalno je 256.

GifImage(GifFrameBlock)

Izrada GIF slika postaje beznačajna s Aspose.Imaging.FileFormats.Gif.sa samo prvim parametrom Frame, ulazi u svijet dinamičnostiVizualna komunikacija .

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Prvi okvir za inicijaliziranje gif slike s.

Examples

Ovaj primjer pokazuje kako stvoriti GIF sliku i sačuvati je u datoteku.

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

Sljedeći primjer pokazuje kako sastaviti animiranu sliku GIF-a iz pojedinih blokova.

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’ ne može biti nula

ArgumentException

firstFrame’ već pripada nekoj drugoj slici.

GifImageException

Izvršena paleta mora sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalna je 256.

GifImage(GifFrameBlock, IColorPalette, bool, bajt, byt)

Počnite bez napora s Aspose.Imaging.FileFormats.Gif. GifImage konstruktorom.Jednostavna metoda, možete se potopiti u stvaranje animiranih GIF-a lako.firstFrame, globalPalette, paletteColorResolution, aspectRatio, i drugiparametri, a vi ste spremni donijeti svoje vizualnosti u život.

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

Parameters

firstFrame GifFrameBlock

Prvi okvir za inicijaliziranje gif slike s.

globalPalette IColorPalette

Imajte na umu da ako su i firstFrame’ i “code class”=“premf”>globalPalette’ nula, onda se koristi podrazumevani globalni palet.

isPaletteSorted bool

ako je postavljena na ‘pravda’ paleta je razvrstana. primijetite da se parametar koristi kada globalPalette" nije nula.

paletteColorResolution byte

Obratite pažnju na parametar koji se koristi kada globalPalette’ nije nula.

paletteBackgroundColorIndex byte

Indeks boja pozadine palete.

aspectRatio byte

Razlika u aspektu.

hasTrailer bool

ako je postavljen na ‘istinu’ gif slika ima trailer inače nema trailer napisan na kraju struje.

Exceptions

ArgumentNullException

firstFrame’ ne može biti nula

ArgumentException

firstFrame’ već pripada nekoj drugoj slici.

GifImageException

globalPalette’ navedeno bi trebalo sadržavati broj ulazaka jednako snagu 2. minimalna veličina palete je 2, maksimalno je 256.

Properties

ActiveFrame

Upravljanje i manipulacija okvirima s ovim svojstvom, omogućavajući glatku navigaciju iizmjena aktivnog okvira unutar GIF slike.

public GifFrameBlock ActiveFrame { get; set; }

Vrijednost nekretnina

GifFrameBlock

Examples

Sljedeći primjer pokazuje kako ukloniti sve bloke iz GIF slike.

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

Upravljajte boju pozadine slike GIF-a s ovim svojstvom. možete postaviti ilipovući boju pozadine kako bi se osigurala dosljednost i poboljšala vizualna privlačnost.

public override Color BackgroundColor { get; set; }

Vrijednost nekretnina

Color

BackgroundColorIndex

Kontrolirajte indeks boje pozadine slike GIF-a pomoću ove svojstva.povući indeks kako bi se održala dosljednost ili postigli željeni vizualni učinci.

public byte BackgroundColorIndex { get; set; }

Vrijednost nekretnina

byte

Blocks

Dobijte pristup GIF blokovima bespomoćno s ovom imovinom, olakšavajući lakoPreuzimanje i manipulacija temeljnim strukturama podataka slike.

public IGifBlock[] Blocks { get; }

Vrijednost nekretnina

IGifBlock []

FileFormat

Obnavljajte format datoteke bez napora s ovim vlasništvom. to je vaš go-to izvorza identifikaciju formata vaših datoteka. bespomoćno integrirani u vaš radni tok,Ona pruža važnu informaciju bez ikakvog uznemiravanja.

public override FileFormat FileFormat { get; }

Vrijednost nekretnina

FileFormat

HasBackgroundColor

Ova svojstva određuju da li GIF slika sadrži boju pozadine.Istina, to ukazuje na to da slika sadrži boju pozadine.

public override bool HasBackgroundColor { get; }

Vrijednost nekretnina

bool

HasTrailer

Upravljajte prisutnost trailera u vašim GIF datotekama s ovom imovinom.potrebno je provjeriti postoji li trailer ili postaviti njegovu prisutnost, ova imovina pojednostavljujeDržite svoje GIF datoteke strukturirane i u skladu s ovom intuitivnom funkcijom.

public bool HasTrailer { get; set; }

Vrijednost nekretnina

bool

HasTransparentColor

Određivanje da li aktivni okvir GIF slike sadrži transparentnu boju.Ova imovina pruža prikladan način za provjeru transparentnosti unutar slike.

public override bool HasTransparentColor { get; set; }

Vrijednost nekretnina

bool

ImageOpacity

Obnavljajte opacitet aktivnog okvira unutar slike, pružajući uvid uNjegova razina transparentnosti.Ova imovina je posebno korisna za razumijevanjestupanj transparentnosti ili opakvenosti aktivnog okvira u slici.

public override float ImageOpacity { get; }

Vrijednost nekretnina

float

IsInterlaced

Određuje je li slika međusobno povezana, što utječe na njezin prikaz tijekom punjenja.imovina pruža uvid u ponašanje prikazivanja slike, neophodno zaoptimizirati strategije opterećenja i poboljšati opće iskustvo gledanja.

public bool IsInterlaced { get; }

Vrijednost nekretnina

bool

IsPaletteSorted

Kontrolirajte razvrstavanje palete u vašim GIF slikama pomoću ove svojstva.morate provjeriti je li paleta sortirana ili postaviti ponašanje sortiranja, ovovlasništvo pruža jednostavan način za upravljanje paletnom organizacijom u vašemGIF datoteke

public bool IsPaletteSorted { get; set; }

Vrijednost nekretnina

bool

LoopsCount

Uklonite broj lukova bez napora s ovim svojstvom. ako je vaš GIF slika uključujeInformacije o krugovima, ova imovina vam daje brz pristup broju kruga, omogućavajućiNeumorno upravljate ponašanjem u vašim GIF datotekama.

public int LoopsCount { get; set; }

Vrijednost nekretnina

int

PageCount

Povratak ukupnog broja stranica sadržanih u slici s ovimIdealan za brzu procjenu opsega sadržaja slike.

public override int PageCount { get; }

Vrijednost nekretnina

int

Pages

Dobiti pristup stranicama unutar slike kroz ovu prikladnu imovinu,omogućavajući bespomoćnu navigaciju i manipulaciju pojedinačnih stranica prema potrebi.

public override Image[] Pages { get; }

Vrijednost nekretnina

Image []

PaletteColorResolutionBits

Upravljajte paletnu boju rezolucije vaših GIF slika s ovom svojstvom.broj bitova koji se koriste za prikazivanje boja u paleti, pružajući fin kontroluVisoka boja i kvaliteta slike.

public byte PaletteColorResolutionBits { get; set; }

Vrijednost nekretnina

byte

PixelAspectRatio

Upravljajte pikselnim aspektom sa slikom GIF-a s ovom svojstvom.odnos aspekta kako bi se osiguralo točno prikazivanje i održavanje vizualne vjernosti.

public byte PixelAspectRatio { get; set; }

Vrijednost nekretnina

byte

TransparentColor

Obnavljajte transparentnu boju aktivnog okvira u sliku GIF-a.omogućuje vam pristup određenoj boji koja je označena kao transparentnau okviru trenutačno aktivnog okvira.

public override Color TransparentColor { get; }

Vrijednost nekretnina

Color

XmpData

Upravljajte XMP metapodatke s ovim vlasništvom. da li dobivate postojeće meta podatkeili ga ažurirati s novim informacijama, ova imovina ubrzava proces.Vaši metapodatci su organizirani i pristupačni, osiguravajući da vaši datoteci sadržerelevantne informacije koje trebaju.

public override XmpPacketWrapper XmpData { get; set; }

Vrijednost nekretnina

XmpPacketWrapper

Methods

AddBlock(Sljedeći članakBlock)

Dodavanje novog bloka GIF-a omogućuje uključivanje dodatnih podataka u sliku.Ova metoda omogućuje dodavanje prilagođenih blokova na sliku GIF-a, što možeSadrži različite vrste informacija.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

GIF blok za dodavanje.

Examples

Sljedeći primjer pokazuje kako sastaviti animiranu sliku GIF-a iz pojedinih blokova.

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)

Uključite novu stranicu u postojeću sliku, poboljšavajući njezin sadržaji proširiti svoj opseg. ova metoda povećati zbirke slika s dodatnimSadržaj, poticanje kreativnosti i fleksibilnosti u upravljanju slikom i sastavu.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Stranica za dodavanje.

Examples

Stvorite više stranica GIF slike pomoću pojedinačnih stranica raster slike.

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)

Prilagodi svjetlost slike prema određenom parametru svjetlosti . ova metoda izmjenjuje svijetlost cijele slike jednako, poboljšavajući ili smanjujući ukupnu svjetlosnost kako bi se postigao željeni učinak.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Vrijednost svjetlosti

Examples

Sljedeći primjer provodi korekciju svjetlosti GIF slike.

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

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

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

AdjustContrast(float)

Prilagodi kontrast slike, povećavajući ili smanjujući razliku usvjetlost između piksela. ova metoda mijenja ukupni tonalni raspon slike,učiniti tamnije područje tamnijim i svijetlijim područjima svjetlije kako bi se poboljšala vizualna jasnostI detalje.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Vrijednost kontrasta (u rasponu [-100; 100])

Examples

Sljedeći primjer provodi kontrastno ispravljanje GIF slike.

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

Ne može se promijeniti kontrast. okvirni indeks: " + frameIndex

AdjustGamma(float)

Povećanje kvalitete slike primjenom gamma korekcije. ova metoda prilagođava bojugama slike za postizanje optimalne vizualne jasnoće. to mijenja gamma vrijednostod svakog piksela, što rezultira poboljšanom izradi boje i ukupnom izgledu slike.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma za koeficijenta crvenih, zelenih i plavih kanala

Examples

Sljedeći primjer provodi gamma-korekciju GIF slike.

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(plovilo, plovilo i plovilo)

Gamma-korekcija slike primjenjuje ne-linearnu prilagodbu vrijednosti piksela,povećanje ili smanjenje svjetlosti na temelju određenih koeficijenata za crvenu,zeleni i plavi kanali. ova metoda pomaže da se osvijetli ravnoteža boja isvjetlost slike, poboljšavajući njezin opći izgled i vizualnu kvalitetu.

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

Parameters

gammaRed float

Gamma za koeficijenta crvenog kanala

gammaGreen float

Gamma za zeleni kanal koeficijenta

gammaBlue float

Gamma za kofein plavog kanala

Examples

Sljedeći primjer provodi gamma-korekciju GIF slike primjenom različitih koeficijenata za komponente boje.

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

Binarizacija slike pomoću Bradleyjevog adaptivnog algoritma ograničenja sIntegralno ograničavanje slike je metoda za pretvaranje grayscale slike uOvaj algoritam izračunava lokalni prag za svaki pixel na temeljuprosječna intenzitet okolnih piksela unutar određenog prozora.adaptivno prilagođavanje praga na temelju lokalnih pikselnih intenziteta, Bradley’sMetoda je učinkovita u rješavanju promjena u svjetlu i kontrastu diljem slike.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Razlika u svjetlosti između piksela i prosjeka prozora s x s piksela usredotočenog oko ovog piksela.

BinarizeFixed(byte)

Binarizacija slike s unaprijed definiranim pragom pretvara šljunčanu ili bojuslika u binarnu sliku, gdje je svaki pixel klasificiran kao crni ili bijeliovisno o tome je li njegova intenzitetna vrijednost iznad određenog praga.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Ako je odgovarajuća siva vrijednost piksela veća od granice, vrijednost od 255 će joj biti dodijeljena, 0 drugačije.

Examples

Sljedeći primjer binarizira GIF sliku s unaprijed definiranim pragom. binarne slike sadrže samo 2 boje - crno i bijelo.

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

Binarizacija slike s Otsu ograničavanjem je metoda koja se koristi za automatskiodređivanje optimalne granice vrijednosti za pretvaranje grayscale slike uAlgoritam Otsu ograničenja izračunava granicu kojaMinimizira intra-klasičnu varijantu intenziteta piksela u oba rezultatarazredima (pregrond i pozadine). ova tehnika je posebno korisna kadaoptimalna granična vrijednost nije poznata i mora se utvrditi na odgovarajućoj osnovina histogramu slike.

public override void BinarizeOtsu()

Examples

Sljedeći primjer binarizira GIF sliku s Otsu ograničenjem. binarne slike sadrže samo 2 boje - crno i bijelo.

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

Čišćenje svih GIF blokova uklanja sve postojeće podatke pohranjene unutar slike.Ova operacija učinkovito vraća sliku u prazno stanje, uklanjajući bilo kojiKoristite ovu metodu kada morate početi svježe s čistimSlate za stvaranje ili izmjenu GIF slike.

public void ClearBlocks()

Examples

Sljedeći primjer pokazuje kako ukloniti sve bloke iz GIF slike.

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)

Uzgajite sliku pomoću određenog pravokugla. ova operacija uklanja vanjsko područjedio slike, ostavljajući samo odabrano područje definirano pravokuglom.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

U pravom dijelu.

Examples

Sljedeći primjer uzgaja GIF sliku. područje uzgoja određuje se putem 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)

Primijenite dimenzije na trenutnu sliku.Ovaj proces poboljšava kvalitetu slikesmanjiti vezivanje boja i poboljšati prijelaz boje, što rezultira glatkimIzgleda se.

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

Parameters

ditheringMethod DitheringMethod

Metoda za iscjedak.

bitsCount int

Konačni bitovi računaju za dithering.

customPalette IColorPalette

Korištenje prilagođene palete za dijetiranje.

Examples

Sljedeći primjer preuzima sliku GIF-a i izvršava ograničenje i protjerivanje pomoću različitih dubina palete.

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(Sljedeći članakFilterOptionsBase)

Primijenite određeni filter na određeno područje slike, poboljšavajući njezinu vizualnu površinu.kvaliteta ili promijeniti svoj izgled po želji. ova metoda selektivno procesirapixelima unutar definiranog pravokuna, što omogućuje da se ciljanim prilagodbamauz očuvanje integriteta okolnih podataka o slikama.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

U pravom dijelu.

options FilterOptionsBase

i opcije .

Examples

Sljedeći primjer primjenjuje različite vrste filtera na GIF sliku.

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

Obnavljajte originalne opcije na temelju postavki datoteke, ključne za održavanje vjernostii dosljednost u obrađivanju i manipulaciji slike. ova metoda omogućuje bezbrižnointegracija specifičnih parametara datoteke u naknadne operacije, osiguravajućitočna predaja i usklađenost s prirodnim karakteristikama slike.To može biti korisno za održavanje bit-glob i drugih parametara izvorne slike nepromijenjene.Na primjer, ako preuzmemo crno-bijelu sliku PNG s 1 bitom po pikselu, a zatim je sačuvamo pomoćuAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, izlazna PNG slika s 8 bit po pikselu će se proizvesti.Da biste to izbjegli i sačuvali sliku s 1 bitom po pikselu, koristite ovu metodu kako biste dobili odgovarajuće opcije spašavanja i prošli ih.prema metodi Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) kao drugom parametru.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opcije temelje se na originalnim postavkama datoteke.

Grayscale()

Transformacija slike u njezinu šljunčanu reprezentaciju pretvara bojusliku u grajsku verziju uklanjanjem informacija o boji dok se čuvaOvaj proces pojednostavljuje sliku na sjene sive, čineći je prikladnomza različite aplikacije kao što su tiskanje, obrada dokumenata i grayscaleAnaliza je.

public override void Grayscale()

Examples

Sljedeći primjer pretvara obojeni GIF sliku u njezinu grayscale reprezentaciju. Grayscal slike sastoje se isključivo od sjene sive i nosi samo informacije o intenzitetu.

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(Sljedeći Članak IGIFBlock)

Ustavljanje novog bloka GIF-a omogućuje dodavanje prilagođenih podataka u određenom položajuOva metoda omogućuje postavljanje prilagođenih blokova na željenilokacija u GIF-u, pružajući fleksibilnost u organiziranju i strukturiranjuInformacije o slikama.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Nula temelji se na elementu, na kojem će se blok staviti.

block IGifBlock

GIF blok za dodavanje.

OnPaletteChanged(Sljedeći članakSljedeći članakSljedeći članakIcolorPalette)

Naziva se kada se paleta mijenja.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Stara je paleta.

newPalette IColorPalette

Nova je paleta.

OnPaletteChanging(Sljedeći članakSljedeći članakSljedeći članakIcolorPalette)

Naziva se kada se paleta mijenja.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Stara je paleta.

newPalette IColorPalette

Nova je paleta.

OrderBlocks()

Naručivanje GIF blokova prema specifikaciji Gif osigurava odgovarajućeraspored i usklađenost s standardom.Ovaj proces uključuje aranžiranjeblokovi u ispravnom redoslijedu kako je definirano specifikacijom.može uključivati uklanjanje određenih Aspose.Imaging.FileFormats.Gif.Blocks.DigitalGraphicsControlBlock primjera kojene zahtijevaju se za konačnu rasporedu.U skladu s specifikacijom GIF-a,Rezultati će biti pravilno strukturirani i kompatibilni s GIF-ovim prikazom.primjene .

public void OrderBlocks()

RemoveBlock(Sljedeći članakBlock)

Uklanjanje bloka GIF-a uklanja određene podatke s slike, pružajući mogućnostČišćenje ili izmjena strukture slike. ova metoda omogućuje uklanjanje neželjenihili nepotrebne blokove, optimizirajući GIF sliku za učinkovito skladištenje.funkcionalnost za uklanjanje zastarjelih informacija s slike dok se čuvaNjegova integriteta i kvaliteta.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Blok za uklanjanje.

Remarks

Napomena: nemojte zaboraviti staviti blok ako ga ne dodate nekim drugim GifImage.

Resize(int, int, resizeType)

Preuzmite ovaj Aspose.Imaging.Image primjerak.

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

Parameters

newWidth int

U novoj širini.

newHeight int

U novoj visini.

resizeType ResizeType

Vrsta povlačenja.

Examples

Ovaj primjer preuzima sliku GIF-a i reciklira je pomoću različitih metoda recidiva.

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, ImageResizeUredi)

Preuzmite ovaj Aspose.Imaging.Image primjerak.

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

Parameters

newWidth int

U novoj širini.

newHeight int

U novoj visini.

settings ImageResizeSettings

U nastavku je.

Examples

Ovaj primjer preuzima GIF sliku i ponavlja je pomoću različitih ponovnih postavki.

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)

Preuzimanje slike uzimajući u obzir cijeli okvir za svaku stranicu uGIF, stoga sprečavajući pojavu potencijalnih artefakata. ova metoda je neophodnao održavanju integriteta i kvalitete slike, osobito kada se radi oanimirani GIF ili sekvencije okvirima.

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

Parameters

newWidth int

U novoj širini.

newHeight int

U novoj visini.

resizeType ResizeType

Vrsta povlačenja.

ResizeProportional(int, int, resizeType)

Proporcionalno rezanje održava aspektni omjer slike dok prilagođava njezinu veličinu, osiguravajući da se slika ne pojavljuje rastegnuta ili poremećena.Ova metoda rezuje sliku razmjerno, skalajući i širinu i visinu po istom faktoru.Pravilna rezanja će rezati svaki okvir prema omjeru newWidth’/width i newHeight’ / height.

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

Parameters

newWidth int

U novoj širini.

newHeight int

U novoj visini.

resizeType ResizeType

Vrsta povlačenja.

Rotate(Float, bool, boja i boja)

Ova metoda vrti sliku oko njezine središnje točke. određivanjem rotacijeu uglu, možete okrenuti sliku na sat ili na kontrast za postizanjeOva rotacija pomaže prilagoditi prezentaciju slike iliUsklađenost bez poremećaja sadržaja.

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

Parameters

angle float

Okretni kut u stupanjima. pozitivne vrijednosti će se okrenuti na sat.

resizeProportionally bool

ako se postavite na ’true’ promijenit ćete veličinu slike prema rotacijskim rektangularnim (kornarnim točkama) projekcijama u drugim slučajevima koje ostavljaju dimenzije bez dodira i samointerna sadržaj slike je rotacijski.

backgroundColor Color

Boja pozadine.

RotateFlip(RotateFlipType)

Izvođenje rotacije, flipping, ili oboje na aktivnom okvir isključivo.primjenjuje transformacije isključivo na trenutačno aktivni okvir slike,Održavanje integriteta drugih okvira u sekvenciji.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Vrsta rotirajućeg flip.

Examples

Ovaj primjer opterećuje sliku GIF-a, vrti je 90 stupnjeva na sat i opcionalno flije slikom horizontalno i (ili) vertikalno.

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)

Sačuvajte podatke.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Proljev za spašavanje podataka na.

SetFrameTime(Sljedeći)

Prilagodi trajanje svakog okvira u milisekundama, osiguravajući dosljedno vremensko razdobljetijekom sekvencije slike. ova metoda jednako određuje vrijeme prikazivanja zasvaki okvir, omogućavajući točnu kontrolu brzine animacije.Promjena ove vrijednosti će ponovno uspostaviti kašnjenje za sve okvirima.

public void SetFrameTime(ushort time)

Parameters

time ushort

Vrijeme trajanja u milisekundama.

UpdateDimensions(u, u)

ažurira dimenzije slike.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Nova širina slike.

newHeight int

Visina nove slike.

 Hrvatski