Class GifImage

Class GifImage

Название пространства: Aspose.Imaging.FileFormats.Gif Ассоциация: Aspose.Imaging.dll (25.4.0)

API для графического формата обмена изображений (GIF) обеспечиваетразработчики с разнообразными инструментами для обработки компрессированных растерных изображений иАнимированные GIF. предлагают такие функции, как 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=paranf">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.с только первым параметром Frame, он входит в мир динамикиВизуальная коммуникация .

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-изображение из отдельных блоков.

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, боол, байт,байт)

Начните без труда с конструктора 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=paranf">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-изображение из отдельных блоков.

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(флота, флота и флота)

Гамма-коррекция изображения применяется к нелинейному корректированию значений пикселей,повышение или снижение яркости на основе указанных коэффициентов для красного цвета;зеленые и голубые каналы. эта методика помогает утончивать цветный баланс иосвещение изображения, улучшение его общего внешнего вида и визуального качества.

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(Двойная)

Бинаризация изображения с использованием алгоритма адаптивной границы БрэдлиIntegral image thresholding — это метод преобразования изображения вЭтот алгоритм рассчитывает местный порог для каждого пикселя на основесредняя интенсивность окружающих пикселей в определенном окне.адаптивное регулирование порога на основе местных пиксельных интенсивов, БрэдлиМетод эффективен для обработки вариаций освещения и контраста по всему изображению.

public override void BinarizeBradley(double brightnessDifference)

Parameters

brightnessDifference double

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

BinarizeFixed(byte)

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

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

Следующий пример выращивает ГИФ-изображение.Зона размножения указана через 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(ДитарингМетод, 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()

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

public override void Grayscale()

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;

                                                                                                                                                                                                      gifImage.Grayscale();
                                                                                                                                                                                                      gifImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
                                                                                                                                                                                                  }

InsertBlock(ИГИФБЛОК)

Введение нового блока GIF позволяет добавлять персонализированные данные в конкретном положенииЭтот метод позволяет размещать персонализированные блоки на желаемомместоположение в изображении ГИФ, обеспечивая гибкость в организации и структурированииИзображение данных.

public void InsertBlock(int index, IGifBlock block)

Parameters

index int

Элемент, основанный на нуле, в который блок будет вложен.

block IGifBlock

Блок GIF для добавления.

OnPaletteChanged(Коллекция, Коллекция, Коллекция)

Назовите, когда палет меняется.

protected override void OnPaletteChanged(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Старый палец

newPalette IColorPalette

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

OnPaletteChanging(Коллекция, Коллекция, Коллекция)

Назовите, когда палет меняется.

protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)

Parameters

oldPalette IColorPalette

Старый палец

newPalette IColorPalette

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

OrderBlocks()

Заказывание блоков GIF в соответствии с спецификацией ГИФ обеспечивает правильный ГІФрасположение и соответствие стандартам. этот процесс включает в себя урегулированиеблоки в правильной последовательности, как это определено спецификацией.может включать удаление определённых Aspose.Imaging.FileFormats.Gif.Blocks. GifGraphicsControlBlock инстанций, которыене требуется для окончательного расположения. при соблюдении спецификации GIF,Результатное изображение будет правильно структурировано и совместимо с просмотром GIFприложений .

public void OrderBlocks()

RemoveBlock(ИГИФБЛОК)

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

public void RemoveBlock(IGifBlock block)

Parameters

block IGifBlock

Блок для удаления.

Remarks

Примечание: не забудьте расположить блок, если вы не будете добавлять его в другие GifImage.

Resize(int, int, resizeType)

Изображает это 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(int, int, ImageResizeНастройки)

Изображает это 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(int, int, resizeType)

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

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

Parameters

newWidth int

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

newHeight int

Новая высота .

resizeType ResizeType

Тип рецидивов .

ResizeProportional(int, int, resizeType)

Пропорциональное восстановление поддерживает аспектный соотношение изображения при корректировке его размера, обеспечивая, чтобы изображение не выглядело растянуто или искажено. Этот метод восстанавливает картинку пропортивно, скалируя как ширину, так и высоту одним и тем же фактором.Пропорционное восстание восстановит каждую рамку в соответствии с соответом 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

Высота нового изображения.

 Русский