Class ApngImage

Class ApngImage

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

API для анимационных файлов PNG (Animated Portable Network Graphics)формат является универсальным решением для разработчиков, которые хотят интегрироватьанимационный контент в их приложениях. эта API предлагает обширныеКонтроль над настройками рамки, позволяя пользователям определять спецификупараметры, в том числе продолжительность круга и настройки файла PNG.функция-богатый инструмент, вы можете без труда управлять и оптимизировать дисплейизображения APNG, импорт и экспорт изображений, улучшение динамики иИнтерактивные аспекты ваших приложений.

[JsonObject(MemberSerialization.OptIn)]
public sealed class ApngImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage

Inheritance

object DisposableObject DataStreamSupporter Image RasterImage RasterCachedImage RasterCachedMultipageImage ApngImage

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

Следующий пример показывает, как экспортировать формат файла APNG из другого неанимированного мультистраничного формата.

using Aspose.Imaging;
                                                                                                                     using Aspose.Imaging.ImageOptions;

                                                                                                                     using (Image image = Image.Load("img4.tif")) {
                                                                                                                         // Setting up the default frame duration
                                                                                                                         image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
                                                                                                                         image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
                                                                                                                     }

Следующий пример показывает, как экспортировать в формат файла APNG.

using Aspose.Imaging;
                                                                         using Aspose.Imaging.ImageOptions;

                                                                         using (Image image = Image.Load("Animation1.webp")) {
                                                                             // Export to APNG animation with unlimited animation cycles as default
                                                                             image.Save("Animation1.webp.png", new ApngOptions());
                                                                             // Setting up animation cycles
                                                                             image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
                                                                         }

Следующий пример показывает, как создать APNG-изображение из другого растерного одностороннего изображения.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Constructors

ApngImage(АпгOptions, int, инт)

Начните работать с классом Aspose.Imaging.FileFormats.Apng. ApngImage, инициируяИдеально подходит для разработчиков, которые хотят начатьиспользовать объекты ApngImage быстро и эффективно в своих проектах.

public ApngImage(ApngOptions options, int width, int height)

Parameters

options ApngOptions

и вариантов .

width int

и широты .

height int

и высоты .

Properties

DefaultFrameTime

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

public uint DefaultFrameTime { get; set; }

Стоимость недвижимости

uint

Examples

Следующий пример показывает, как создать APNG-изображение из другого растерного одностороннего изображения.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

FileFormat

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

public override FileFormat FileFormat { get; }

Стоимость недвижимости

FileFormat

Interlaced

Быстро определить, взаимосвязан ли этот объект Aspose.Imaging.FileFormats.png.PngImageс этой удобной недвижимостью. Идеально для разработчиков, нуждающихся в проверкевзаимосвязанный статус PNG изображений легко.

public bool Interlaced { get; }

Стоимость недвижимости

bool

NumPlays

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

public int NumPlays { get; set; }

Стоимость недвижимости

int

PageCount

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

public override int PageCount { get; }

Стоимость недвижимости

int

Pages

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

public override Image[] Pages { get; }

Стоимость недвижимости

Image [ ]

XmpData

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

public override XmpPacketWrapper XmpData { get; set; }

Стоимость недвижимости

XmpPacketWrapper

Methods

AddFrame()

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

public ApngFrame AddFrame()

Returns

ApngFrame

Недавно созданная APNG рамка.

AddFrame(RasterImage)

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

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Изображение рамки.

Examples

Следующий пример показывает, как создать APNG-изображение из другого растерного одностороннего изображения.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

Exceptions

ArgumentNullException

FrameImage не нулевой.

AddFrame(РастерИммаж, Уинт)

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

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Изображение рамки.

frameTime uint

Длительность рамки, в миллисекундах.

Exceptions

ArgumentNullException

FrameImage не нулевой.

AddPage(RasterImage)

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

public void AddPage(RasterImage page)

Parameters

page RasterImage

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

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(ИНТ)

Легко корректировать яркость " изображения с помощью этого интуитивного метода, используя указанный яркий параметр.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Значение яркости .

AdjustContrast(Флота)

Улучшает контраст Aspose.Imaging.Изображениедля того, чтобы детали отличались этим интуитивным методом. идеально для разработчиковстремясь динамично улучшить зрительную ясность и влияние их изображений.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Контрастная стоимость (в диапазоне [-100; 100])

AdjustGamma(Флота)

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

public override void AdjustGamma(float gamma)

Parameters

gamma float

Коэффициент гаммы для красных, зеленых и синих каналов

AdjustGamma(флота, флота и флота)

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

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

Parameters

gammaRed float

Гама для коэффициента красного канала

gammaGreen float

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

gammaBlue float

Гама для коэффициента синего канала

BinarizeBradley(Двойная, int)

Бинаризация изображения с использованием алгоритма адаптивной границы Брэдли с использованием интегральной границы изображения

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

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

windowSize int

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

BinarizeFixed(byte)

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

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Если соответствующая серная стоимость пикселя превышает границу, то255 будет присвоено к нему, 0 иначе.

BinarizeOtsu()

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

public override void BinarizeOtsu()

Crop(Rectangle)

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

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

На правой стороне.

Crop(Инт, инт, инт, инт)

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

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

левый переход.

rightShift int

Правильный переход .

topShift int

Верхний переход .

bottomShift int

Нижнее перемещение .

Dither(ДитарингМетод, int, IColorPalette)

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

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

Parameters

ditheringMethod DitheringMethod

Метод дифференциации .

bitsCount int

Последние биты рассчитывают на дитирование.

customPalette IColorPalette

Космическая палитра для дитирования.

Filter(Оригинальное название: FilterOptionsBase)

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

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

На правой стороне.

options FilterOptionsBase

и вариантов .

GetDefaultOptions(Объекты[])

Редактируйте предпочтительные варианты без труда с помощью этого простого метода.Идеально подходит для разработчиков, которые ищут быстрый доступ к стандартным настройкам изображения Apng.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

и аргументов .

Returns

ImageOptionsBase

Стандартные варианты

GetModifyDate(Боол)

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

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

Если вы настроены на «истинные», используйте информацию из FileInfo в качестве предпочтительной стоимости.

Returns

DateTime

Дата и время последней модификации изображения ресурса.

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

Опции, основанные на первоначальных настройках файла.

GetPagesAsEnumerable()

Получить страницы как перечисленные.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable • < Image >

Свои страницы как можно перечислить.

Grayscale()

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

public override void Grayscale()

InsertFrame(ИНТ)

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

public ApngFrame InsertFrame(int index)

Parameters

index int

В этом индексе.

Returns

ApngFrame

Недавно созданная APNG рамка.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

InsertFrame(Индекс, RasterImage)

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

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

В этом индексе.

frameImage RasterImage

Изображение рамки.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

FrameImage не нулевой.

InsertFrame(Название: RasterImage, Uint)

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

public void InsertFrame(int index, RasterImage frameImage, uint frameTime)

Parameters

index int

В этом индексе.

frameImage RasterImage

Изображение рамки.

frameTime uint

Длительность рамки, в миллисекундах.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

FrameImage не нулевой.

PopFrameAt(ИНТ)

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

public ApngFrame PopFrameAt(int index)

Parameters

index int

В этом индексе.

Returns

ApngFrame

Удаленная рамка APNG.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ReleaseManagedResources()

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

protected override void ReleaseManagedResources()

RemoveAllFrames()

Откройте свою коллекцию кадров, удаляя все кадры этим интуитивным методом.Идеально подходит для разработчиков, которые ищут восстановление или обновление своих анимаций.

public void RemoveAllFrames()

Examples

Следующий пример показывает, как создать APNG-изображение из другого растерного одностороннего изображения.

using Aspose.Imaging;
                                                                                                      using Aspose.Imaging.ImageOptions;
                                                                                                      using Aspose.Imaging.FileFormats.Apng;

                                                                                                      const int AnimationDuration = 1000; // 1 s
                                                                                                      const int FrameDuration = 70; // 70 ms
                                                                                                      using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
                                                                                                      {
                                                                                                          ApngOptions createOptions = new ApngOptions
                                                                                                          {
                                                                                                              Source = new FileCreateSource("raster_animation.png", false),
                                                                                                              DefaultFrameTime = (uint)FrameDuration,
                                                                                                              ColorType = PngColorType.TruecolorWithAlpha,
                                                                                                          };

                                                                                                          using (ApngImage apngImage = (ApngImage)Image.Create(
                                                                                                              createOptions,
                                                                                                              sourceImage.Width,
                                                                                                              sourceImage.Height))
                                                                                                          {
                                                                                                              // It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;

                                                                                                              int numOfFrames = AnimationDuration / FrameDuration;
                                                                                                              int numOfFrames2 = numOfFrames / 2;

                                                                                                              // Cleaning because the image contains one frame by default
                                                                                                              apngImage.RemoveAllFrames();

                                                                                                              // add first frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              // add intermediate frames
                                                                                                              for (int frameIndex = 1; frameIndex &lt; numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex &gt;= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
                                                                                                                  lastFrame.AdjustGamma(gamma);
                                                                                                              }

                                                                                                              // add last frame
                                                                                                              apngImage.AddFrame(sourceImage);

                                                                                                              apngImage.Save();
                                                                                                          }
                                                                                                      }

RemoveFrameAt(ИНТ)

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

public void RemoveFrameAt(int index)

Parameters

index int

В этом индексе.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ResetDefaultImage()

Удаление предварительно установленного изображения с помощью этого интуитивного метода.Идеально подходит для разработчиков, которые ищут восстановление или удаление предпочтительного изображения в своей анимации.После этого по умолчанию изображение является первой рамкой в собственной коллекции рамки.(Это не может быть удалено с помощью этого метода).

public void ResetDefaultImage()

Resize(int, int, resizeType)

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

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

Parameters

newWidth int

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

newHeight int

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

resizeType ResizeType

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

Resize(int, int, ImageResizeНастройки)

Изображение восстанавливается.

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

Parameters

newWidth int

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

newHeight int

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

settings ImageResizeSettings

Рецидивные настройки .

ResizeHeightProportionally(Инт, ResizeType)

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

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

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

resizeType ResizeType

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

ResizeWidthProportionally(Инт, ResizeType)

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

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth 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

Тип ротационного флипа.

SaveData(Stream)

Сохранить данные.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Поток для сохранения данных.

SetDefaultImage(RasterImage)

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

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

Изображение .

Exceptions

ArgumentNullException

Изображение является нулевым.

UpdateDimensions(Инт, Инт)

Обновление размеров изображения.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Новое изображение ширины.

newHeight int

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

UpdateMetadata()

Обновление метаданных изображения.

protected override void UpdateMetadata()
 Русский