Class ApngImage

Class ApngImage

Названий на: Aspose.Imaging.FileFormats.Apng Асамблея: Aspose.Imaging.dll (25.4.0)

Анімаційна графіка портативної мережі (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(Створення 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.Imageдля того, щоб деталі висвітлювалися цим інтуїтивним методом. ідеальний для розробниківпрагнуть динамічно поліпшити візуальну чіткість і вплив своїх зображень.

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 с піксолівПовернутись навколо цього пікселя.

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(Створення Metod, 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(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІстю)

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

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(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ)

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

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Нові висоти .

resizeType ResizeType

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

ResizeWidthProportionally(ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ)

Пропорційно відрізати ширину зображення без зусиль за допомогою цього інтуїтивного методу.Ідеальний для розробників, які прагнуть зберегти аспектний відсоток своїх зображень в той час якАдаптація їх розмірів.

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()
 Українська