Class ApngImage

Class ApngImage

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

API за анимирани PNG (анимирана портативна мрежа графика) файл на изображениетоФорматът е универсално решение за разработчиците, които искат да интегриратанимационно съдържание в техните приложения. тази 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(Източник: Int, 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

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

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

Фреймът е нула.

AddFrame(Снимка, Уинт)

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

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

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

frameTime uint

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

Exceptions

ArgumentNullException

Фреймът е нула.

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

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

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

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

windowSize int

Размерът на прозореца с x с на пикселите, които се фокусират около този пикъл

BinarizeFixed(Бийт)

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

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(ДитърингMethod, 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

Фреймът е нула.

InsertFrame(Истината е, че Уинт)

Въведете нова рамка в собствена рамкова колекция на посочения индекс.Съдържанието на новата рамка ще бъде попълнено от посочената картина.

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

Фреймът е нула.

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

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

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

Parameters

newWidth int

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

newHeight int

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

resizeType ResizeType

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

Resize(Инт, инт и ImageResizeSettings)

Рециклира изображението.

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()
 Български