Class GifImage

Class GifImage

Името на пространството: Aspose.Imaging.FileFormats.Gif Асамблея: Aspose.Imaging.dll (25.4.0)

API за графичен формат за обмен на изображения (GIF)разработчици с многофункционални инструменти за обработка на компресирани растер изображения ианимирани GIFs. предлагат функции като XMP обработка на метаданни, цветови палетинастройки, фона и прозрачен контрол на цветовете, настройките за безпроблемност, преместване,crop, филтриране приложение, гама корекции, контраст адаптация, грейскалпреобразуване, и конвертиране на други формати. тази API улеснява безкрайноманипулиране и подобряване на GIF изображения за широк спектър от приложения.

[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

наследници

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

Износ на част от анимацията от GIF изображение въз основа на временния интервал.

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

Този пример показва как да създадете GIF изображение и да го съхранявате в файл.

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

Създаване на многострани GIF изображения с помощта на една страница растер снимки.

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

Започнете нов Aspose.Imaging.FileFormats.Gif.DifImage обект с определени параметри заПърва рамка и глобална палета. Започнете да управлявате GIF изображения бързо, осигурявайкиТочно представяне с персонализирани настройки за оптимални резултати.

public GifImage(GifFrameBlock firstFrame, IColorPalette globalPalette)

Parameters

firstFrame GifFrameBlock

Първата рамка за стартиране на GIF изображение с.

globalPalette IColorPalette

Забележете, че ако както firstFrame’ и <code class=parama">globalPalette’ са нули, тогава се използва стандартна глобална палета.

Examples

Този пример показва как да създадете GIF изображение с персонализирана палета и да го съхранявате в файл.

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’ не може да бъде нула

ArgumentException

firstFrame’ вече принадлежи на някаква друга картина.

GifImageException

Специфичният globalPalette’ трябва да съдържа числото на въведенията, равни на мощността на 2. минимален размер на палетата е 2, максимумът е 256.

GifImage(GifFrameBlock)

Изграждането на GIF изображения става безпроблемно с Aspose.Imaging.FileFormats.Gif.с първия параметър на рамката, той влиза в свят на динамикатаВизуална комуникация .

public GifImage(GifFrameBlock firstFrame)

Parameters

firstFrame GifFrameBlock

Първата рамка за стартиране на GIF изображение с.

Examples

Този пример показва как да създадете GIF изображение и да го съхранявате в файл.

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

Следващият пример показва как да се състави анимиран GIF изображение от отделните 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’ не може да бъде нула

ArgumentException

firstFrame’ вече принадлежи на някаква друга картина.

GifImageException

Посочената палета трябва да съдържа вноски, които са равни на мощността на 2. минимален размер на палетата е 2, максималният е 256.

GifImage(GifFrameBlock, IColorPalette, боол, байт, бийт, бик, bool)

Започнете без усилие с Aspose.Imaging.FileFormats.Gif. GifImage конструктор.прост метод, можете да се потопите в създаването на анимирани GIF с лекота.firstFrame, globalPalette, paletteColorResolution, aspectRatio и другипараметри, и вие сте готови да донесе визуализацията си към живота.

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

Parameters

firstFrame GifFrameBlock

Първата рамка за стартиране на GIF изображение с.

globalPalette IColorPalette

Забележете, че ако както firstFrame’ и <code class=parama">globalPalette’ са нули, тогава се използва стандартна глобална палета.

isPaletteSorted bool

Забележете, че параметърът се използва, когато globalPalette" не е нула.

paletteColorResolution byte

Забележете, че параметърът се използва, когато globalPalette’ не е нула.

paletteBackgroundColorIndex byte

Индексът на цветовете на фона.

aspectRatio byte

Съотношението на аспекта.

hasTrailer bool

ако сте зададени за “истински” на GIF изображението има трейлър в противен случай не е написано на края на потока.

Exceptions

ArgumentNullException

firstFrame’ не може да бъде нула

ArgumentException

firstFrame’ вече принадлежи на някаква друга картина.

GifImageException

Специфичният globalPalette’ трябва да съдържа числото на въведенията, равни на мощността на 2. минимален размер на палетата е 2, максимумът е 256.

Properties

ActiveFrame

Управление и манипулиране на рамки с тази собственост, което позволява гладка навигация иПромяна на активната рамка в изображението GIF.

public GifFrameBlock ActiveFrame { get; set; }

стойност на имота

GifFrameBlock

Examples

Следващият пример показва как да премахнете всички блокове от 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

Управление на цвета на фона на изображението GIF с тази собственост. можете да зададете иливъзстановяване на цвета на фона, за да се гарантира последователност и подобряване на визуалния привличане.

public override Color BackgroundColor { get; set; }

стойност на имота

Color

BackgroundColorIndex

Контролирайте индекса на цветовете на изображението GIF, като използвате тази свойство.Вземете индекса, за да поддържате последователността или да постигнете желаните визуални ефекти.

public byte BackgroundColorIndex { get; set; }

стойност на имота

byte

Blocks

Получете достъп до GIF блоковете безпроблемно с тази собственост, улеснявайки лесноВъзвръщаемост и манипулация на основните структури на данните на изображението.

public IGifBlock[] Blocks { get; }

стойност на имота

IGifBlock []

FileFormat

Възстановяване на формат на файла без усилие с тази собственост.за идентифициране на формата на вашите файлове. безпроблемно интегрирани във вашия работен поток,Тя предоставя жизненоважна информация без никакви смущения.

public override FileFormat FileFormat { get; }

стойност на имота

FileFormat

HasBackgroundColor

Тази собственост определя дали изображението GIF съдържа цвят на фона.Истината е, че изображението включва цвят на фона.

public override bool HasBackgroundColor { get; }

стойност на имота

bool

HasTrailer

Управлявайте наличието на трейлър във вашите GIF файлове с тази собственост.трябва да се провери дали има трейлър или да определи неговото присъствие, тази собственост улесняваДръжте GIF файловете си структурирани и съвместими с тази интуитивна функция.

public bool HasTrailer { get; set; }

стойност на имота

bool

HasTransparentColor

Определете дали активната рамка на изображението GIF включва прозрачен цвят.Тази собственост осигурява удобен начин да се провери прозрачността в рамките на изображението.

public override bool HasTransparentColor { get; set; }

стойност на имота

bool

ImageOpacity

Възстановяване на непрозрачността на активната рамка в рамките на изображението, предлагайки поглед къмнивото на неговата прозрачност. тази собственост е особено полезна за разбирането настепента на прозрачност или неравномерност на активната рамка в изображението.

public override float ImageOpacity { get; }

стойност на имота

float

IsInterlaced

Определя дали изображението е взаимосвързано, което засяга дисплея му по време на зареждане.Имотът предлага разбиране за представянето на изображението, което е от съществено значение заОптимизиране на стратегиите за зареждане и подобряване на общото изживяване.

public bool IsInterlaced { get; }

стойност на имота

bool

IsPaletteSorted

Контролирайте сортирането на палетата в GIF изображенията си, като използвате тази собственост.трябва да проверите дали палетата е сортирана или да зададете поведението за сортиране, товасобственост осигурява лесен начин за управление на палетата на организацията във вашияGIF файлове

public bool IsPaletteSorted { get; set; }

стойност на имота

bool

LoopsCount

Възстановяване на броя на кръга без усилия с тази собственост. Ако GIF изображението включваинформация за кръга, тази собственост ви дава бърз достъп до броя на кръговете, което позволяваМожете да управлявате безпроблемно хобита поведение в вашите GIF файлове.

public int LoopsCount { get; set; }

стойност на имота

int

PageCount

Премахване на общия брой страници, съдържащи се в изображението с тазиИдеален за бързо оценяване на размера на съдържанието на изображението.

public override int PageCount { get; }

стойност на имота

int

Pages

Достъп до страниците в рамките на изображението чрез тази удобна собственост,Осигуряване на безпроблемна навигация и манипулация на отделните страници, както е необходимо.

public override Image[] Pages { get; }

стойност на имота

Image []

PaletteColorResolutionBits

Управление на цветовата резолюция на вашите GIF изображения с тази свойство.броят на битите, използвани за представяне на цветове в палетата, осигурявайки фин контролЦветната дълбочина и качеството на изображението.

public byte PaletteColorResolutionBits { get; set; }

стойност на имота

byte

PixelAspectRatio

Управлявайте съотношението на аспекта на пиксела на изображението GIF с това свойство.съотношението на аспекта, за да се гарантира точна представяне и поддържа визуална лоялност.

public byte PixelAspectRatio { get; set; }

стойност на имота

byte

TransparentColor

Възстановяване на прозрачния цвят на активната рамка в GIF изображението.Ви позволява да получите достъп до конкретния цвят, който е определен като прозраченВ рамките на настоящата активна рамка.

public override Color TransparentColor { get; }

стойност на имота

Color

XmpData

Управление на XMP метаданни с тази собственост. независимо дали получавате съществуващи метаданиили да го актуализирате с нова информация, тази собственост ускорява процеса.Вашите метаданни са организирани и достъпни, като се гарантира, че вашите файлове съдържатВажна информация, от която се нуждаят.

public override XmpPacketWrapper XmpData { get; set; }

стойност на имота

XmpPacketWrapper

Methods

AddBlock(ИГИФБЛОК)

Добавянето на нов GIF блок ви позволява да включите допълнителни данни в изображението.Този метод ви позволява да добавите персонализирани блокове към GIF изображението, което може даСъдържа различни видове информация.

public void AddBlock(IGifBlock block)

Parameters

block IGifBlock

GIF блокът трябва да се добави.

Examples

Следващият пример показва как да се състави анимиран GIF изображение от отделните 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)

Инкорпориране на нова страница в съществуващата картина, подобряване на нейното съдържаниеи разширяване на обхвата му. Този метод увеличава колекциите на изображения с допълнителниСъдържание, насърчаване на творчеството и гъвкавостта в управлението на изображенията и композицията.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Страница за добавяне.

Examples

Създаване на многострани GIF изображения с помощта на една страница растер снимки.

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(инт)

Приспособява яркостта на изображението в съответствие с параметъра на яростта, посочен в . Този метод променя светлината на цялата картина равномерно, като подобрява или намалява общата светлина, за да постигне желания ефект.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Стойност на яркостта.

Examples

Следващият пример извършва корекция на яркостта на 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(Флота)

Приспособява контраста на изображението, подобрява или намалява разликата всветлината между пикселите. този метод променя общата тонална гама на изображението,да направят по-тъмните зони тъмни и светли, за да подобрят зрителната яснотаи детайлите.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Контрастна стойност (в диапазон [-100; 100])

Examples

Следващият пример извършва корекция на контраста на 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

Не може да се промени контраст. Frame index: " + frameIndex

AdjustGamma(Флота)

Подобряване на качеството на изображението чрез прилагане на гама корекция. Този метод коригира цветаГама на изображението за постигане на оптимална визуална яснота. тя променя стойността на гаматана всеки пиксел, което води до по-добро представяне на цветовете и общ външен вид на изображението.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Гама за червени, зелени и сини канали коефициент

Examples

Следващият пример извършва гама корекция на 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(плавател, плавател, плавател)

Gamma-корекция на изображението се прилага нелинейно адаптиране към стойностите на пикселите,подобряване или намаляване на яркостта въз основа на посочените коефициенти за червения цвят;зелени, и сини канали. този метод помага за фино-тънки баланса на цветовете иСветлината на изображението, подобряване на цялостния му външен вид и визуално качество.

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

Parameters

gammaRed float

Гама за коефициент на червения канал

gammaGreen float

Гама за зеления канал коефициент

gammaBlue float

Гама за синия канал коефициент

Examples

Следващият пример извършва гама корекция на 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 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(Двойно)

Бинаризация на изображението, използвайки адаптивния алгоритъм на БрадлиПродължителността на изображението е метод за конвертиране на грейскално изображение вТози алгоритъм изчислява локален праг за всеки пиксел въз основа насредната интензивност на заобикалящите се пиксели в определено прозорци.адаптивно регулиране на прага въз основа на местните пикселни интензитети, БрадлиМетодът е ефективен при справяне с вариациите в осветлението и контраста по цялата картина.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

Разликата в яркостта между пиксела и средната стойност на прозореца с x s, която се концентрира около него.

BinarizeFixed(Бийт)

Бинаризацията на изображението с предварително дефиниран праг конвертира сива скала или цвятизображение в бинарна картина, където всеки пиксел е класифициран като черно или бяловъз основа на това дали неговата стойност на интензитета надвишава определен праг.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Ако съответната сива стойност на пиксел е по-голяма от прага, стойността на 255 ще бъде приписана, 0 в противен случай.

Examples

Следващият пример бинарнизира GIF изображение с предварително дефиниран праг. бинаризирани изображения съдържат само 2 цветове - черно и бяло.

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

Binarization на изображение с Otsu праг е метод, използван за автоматичноопределя оптималната стойност на прага за конвертиране на грейскално изображение вАлгоритъмът на прага Otsu изчислява лимита, койтоминимизира интра-класовата вариация на пикселовите интензитети в резултатите отклас (предграден и фон). тази техника е особено полезна, когатоОптималната стойност на прага е неизвестна и трябва да бъде определена адаптивно.на хистограмата на изображението.

public override void BinarizeOtsu()

Examples

Следващият пример бинарнизира GIF изображение с Otsu рамка. бинаризирани изображения съдържат само 2 цветове - черно и бяло.

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

Изчистването на всички GIF блокове премахва всички съществуващи данни, съхранени в изображението.Тази операция ефективно преобразува изображението в празно състояние, премахвайки всичкиизползвайте този метод, когато трябва да започнете свеж с чистСлайд за създаване или модифициране на GIF изображение.

public void ClearBlocks()

Examples

Следващият пример показва как да премахнете всички блокове от 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)

Изградете изображението с помощта на определена правоъгълна област. Тази операция премахва външниячаст от изображението, оставяйки само избрания регион, определен от правоъгълника.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

на правоъгълника.

Examples

Следващият пример отглежда GIF изображение. зоната за отглеждане се посочва чрез 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(ДитърингMethod, int, IColorPalette)

Прилагайте дитиране към текущото изображение. Този процес подобрява качеството на изображението чрезнамаляване на цветните връзки и подобряване на преходните цветове, което води до по-гъвкаваи външен вид.

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

Parameters

ditheringMethod DitheringMethod

Методът на дистрибуция.

bitsCount int

Последните битове се броят за дитиране.

customPalette IColorPalette

Палетата е предназначена за дитиране.

Examples

Следващият пример зарежда 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;

                                                                                                                                // 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(Филтриране, FilterOptionsBase)

Нанесете конкретен филтър върху определената област на изображението, подобрявайки визуалността му.качеството или промяна на външния му вид, както е желано. този метод селективно обработвапиксели в определения правоъгълник, което позволява да се направят целенасочени корекцииВ същото време се запазва целостта на околните данни за изображения.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

на правоъгълника.

options FilterOptionsBase

и възможностите.

Examples

Следващият пример прилага различни видове филтри за 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()

Възстановяване на оригиналните файлови опции, които са от решаващо значение за поддържането на лоялносттаи последователност в обработката на изображения и манипулацията. този метод позволява безкрайноинтегриране на файло-специфични параметри в последващите операции, осигуряване наточна предаване и привързаност към вътрешните характеристики на изображението.Това може да бъде полезно, за да се запази битовата дълбочина и други параметри на оригиналната картина непроменени.Например, ако зареждаме черно-бяло PNG изображение с 1 бит на пиксел и след това го съхраняваме с помощта наAspose.Imaging.DataStreamSupporter.Save(System.String) метод, изходната PNG изображение с 8 бита на пиксел ще бъде произведена.За да избегнете това и да спестите PNG изображение с 1-бит на пиксел, използвайте този метод, за да получите съответните възможности за спестяване и ги прехвърлитена метода Aspose.Imaging.Image.Save(System.String,_Wl17.ImageOptionsBase) като втори параметър.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Опциите се основават на първоначалните настройки на файла.

Grayscale()

Преобразуването на изображението в негова грейскално представяне превръща цветаизображение в грей скална версия чрез премахване на информацията за цветовете, като същевременноТози процес опростява изображението до нюанси на сиво, което го прави подходящза различни приложения като печат, обработка на документи и граискалАнализът .

public override void Grayscale()

Examples

Следващият пример преобразува цветно изображение на GIF в неговия грейскален представител. Grayscale изображения се състоят изключително от сиви нюанси и носят само информация за интензитет.

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(Блокиране на IGIFBlock)

Въвеждането на нов GIF блок ви позволява да добавите персонализирани данни в определена позицияв рамките на изображението. този метод ви позволява да поставите персонализирани блокове на желанияместоположение в изображението на GIF, осигуряване на гъвкавост при организирането и структурирането наСнимка на данните.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Елементът, базиран на нула, в който блокът ще бъде вмъкнат.

block IGifBlock

GIF блокът трябва да се добави.

OnPaletteChanged(Изолация, IColorPalette)

Позива се, когато палетът се променя.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Старата палитра.

newPalette IColorPalette

Новата палитра.

OnPaletteChanging(Изолация, IColorPalette)

Позива се, когато палетът се променя.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Старата палитра.

newPalette IColorPalette

Новата палитра.

OrderBlocks()

Поръчането на GIF блоковете в съответствие с спецификацията за ГИФ осигурява подходящ ГІФсъстав и съответствие с стандарта. този процес включва организиране наБлокове в правилната последователност, както е определено от спецификацията.може да включва премахване на определени Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock примери, коитоне са необходими за окончателното оформление. чрез спазване на спецификацията GIF,Резултатът от изображението ще бъде правилно структуриран и съвместим с ГИФ прегледи приложенията.

public void OrderBlocks()

RemoveBlock(ИГИФБЛОК)

Премахването на GIF блок премахва специфични данни от изображението, предлагайки възможност започистване или промяна на структурата на изображението. този метод ви позволява да премахнете нежеланиили ненужни блокове, оптимизиране на GIF изображението за ефективно съхранение.функционалност за премахване на остарялата информация от изображението, като същевременно се запазваНеговата цялост и качество.

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Блокът трябва да бъде премахнат.

Remarks

Забележка: Не забравяйте да разположите блока, ако не го добавите към други GifImage.

Resize(Инт, инт и резистент)

Изтегляне на този Aspose.Imaging.Image инстанция.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

resizeType ResizeType

Типът на възстановяване.

Examples

Този пример натоварва GIF изображение и го рецизира с помощта на различни методи за ресизиране.

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(Инт, инт и ImageResizeSettings)

Изтегляне на този Aspose.Imaging.Image инстанция.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

settings ImageResizeSettings

и на настройките.

Examples

Този пример изтегля GIF изображение и го рецизира с помощта на различни настройки.

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(Инт, инт и резистент)

Възпроизвеждане на изображението, като се вземат предвид пълните рамки за всяка страница вGIF, като по този начин предотвратява появата на потенциални артефакти.за поддържане на целостта и качеството на изображението, особено когато се занимава санимирани GIF или последователности на рамки.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

resizeType ResizeType

Типът на възстановяване.

ResizeProportional(Инт, инт и резистент)

Пропорционалното резизиране поддържа аспектното съотношение на изображението, докато се коригира размера му, за да се гарантира, че снимката не изглежда разтягана или деформирана. Тази методология рецизира изображение пропортивно, скалирайки както ширината, така и височината по един и същ фактор.Пропорционното ресиране ще редизира всяка рамка в съответствие с равнището на <код клас=“paramref”>newWidth’/width и newHeight’ / height.

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

Parameters

newWidth int

Новата ширина.

newHeight int

Новата височина.

resizeType ResizeType

Типът на възстановяване.

Rotate(Флоат, Боол, Цвет)

Този метод върти изображението около неговата централна точка.в ъгъл, можете да въртите изображението на часовника или на контрачаса, за да постигнетежеланата ориентация. тази ротация помага да се коригира представянето на изображението илиАнализ, без да се нарушава съдържанието му.

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

Parameters

angle float

Позитивните стойности ще се въртят по часовника.

resizeProportionally bool

ако сте зададени на “истински”, ще промените размера на изображението си в съответствие с въртящите се правоъгълни (коренни точки) проекции в други случаи, които оставят измеренията без докосване и само вътрешното съдържание на снимката се върти.

backgroundColor Color

Цветът на фона.

RotateFlip(RotateFlipType)

Извършване на ротация, плъзгане или и двете на активната рамка изключително.прилага трансформациите единствено към текущата активна рамка на изображението,запазване на целостта на другите рамки в последователността.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Типът на ротирания флип.

Examples

Този пример зарежда GIF изображение, го върти на 90 градуса и опционално флипира изображението хоризонтално и/или вертикално.

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)

Съхранява данните.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Потокът за съхранение на данните.

SetFrameTime(Ушорт)

Регулира продължителността на всяка рамка в милисекунди, осигурявайки последователно времепрез цялата последователност на изображението. този метод едностранно определя времето завсяка рамка, позволяваща точен контрол върху скоростта на анимацията.Промяната на тази стойност ще възстанови закъснението за всички рамки.

public void SetFrameTime(ushort time)

Parameters

time ushort

Продължителността на рамката в милисекунди.

UpdateDimensions(в, в)

Актуализирайте измеренията на изображението.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Новото изображение с широчина.

newHeight int

Новата снимка е на височина.

 Български