Class ApngImage

Class ApngImage

Il nome: Aspose.Imaging.FileFormats.Apng Assemblea: Aspose.Imaging.dll (25.4.0)

L’API per il file di immagine animato PNG (Animated Portable Network Graphics)Il formato è una soluzione versatile per gli sviluppatori che cercano di integrarecontenuti animati nelle loro applicazioni.Questa API offre un’ampiaControllo delle impostazioni del frame, consentendo agli utenti di definire il frame-specificparametri, tra cui la durata del loop e le impostazioni del file PNG.strumento ricco di funzionalità, è possibile gestire e ottimizzare senza sforzo la visualizzazionedelle immagini APNG, import e esportazione di immagini, migliorando la dinamica eAspetti interattivi delle tue applicazioni.

[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

I membri ereditari

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

L’esempio seguente mostra come esportare il formato di file APNG apng da altri formati multi-pagine non animati.

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
                                                                                                                     }

L’esempio seguente mostra come esportare al formato di file 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
                                                                         }

L’esempio seguente mostra come creare l’immagine APNG da un’altra immagine single-page del raster.

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(ApngOptions, int e int)

Inizia a lavorare con la classe Aspose.Imaging.FileFormats.Apng. ApngImage iniziandouna nuova instanza senza sforzo. perfetto per gli sviluppatori che cercano di iniziareUtilizzare gli oggetti ApngImage in modo rapido ed efficiente nei loro progetti.

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

Parameters

options ApngOptions

Le opzioni .

width int

La larghezza .

height int

La altezza .

Properties

DefaultFrameTime

Facile adattare la durata del quadro predefinito per creare nuovi frame conQuesta proprietà flessibile. perfetto per gli sviluppatori che cercano di personalizzare il timing quadroEfficiente nelle loro animazioni.

public uint DefaultFrameTime { get; set; }

Valore di proprietà

uint

Examples

L’esempio seguente mostra come creare l’immagine APNG da un’altra immagine single-page del raster.

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

Accedere rapidamente alle informazioni sul formato del file con questa conveniente proprietà.Ideale per gli sviluppatori che hanno bisogno di recuperare i dettagli sul formatodei loro file Apng facilmente.

public override FileFormat FileFormat { get; }

Valore di proprietà

FileFormat

Interlaced

Determinare rapidamente se questo Aspose.Imaging.FileFormats.Png. PngImage oggetto è interlessocon questa conveniente proprietà. ideale per gli sviluppatori che hanno bisogno di controllarel’interlink status delle immagini PNG facilmente.

public bool Interlaced { get; }

Valore di proprietà

bool

NumPlays

Controlla senza sforzo il numero di volte la tua animazione scorre con questoProprietà versatile. perfetto per gli sviluppatori che cercano un controllo accuratocomportamenti di animazione, con sostegno per l’infinito looping in caso diIl valore è pari a 0.

public int NumPlays { get; set; }

Valore di proprietà

int

PageCount

Retrate il numero totale di pagine nel file immagine senza sforzo con questa proprietà.Ideale per gli sviluppatori che hanno bisogno di accesso rapido alle informazioni di conteggio della pagina.

public override int PageCount { get; }

Valore di proprietà

int

Pages

Accedi facilmente alle pagine della tua immagine con questa proprietà conveniente.Perfetto per gli sviluppatori che cercano un accesso rapido e facile a pagine individuali per la manipolazione.

public override Image[] Pages { get; }

Valore di proprietà

Image [ ]

XmpData

Gestire senza sforzo i metadati XMP associati ai tuoi file utilizzando questoProprietà versatile. perfetto per gli sviluppatori che cercano di accedere o aggiornareMetadata con facilità.

public override XmpPacketWrapper XmpData { get; set; }

Valore di proprietà

XmpPacketWrapper

Methods

AddFrame()

Aggiungi facilmente un nuovo quadro alla fine della tua collezione di frame con questometodo semplice. ideale per gli sviluppatori che cercano di espandere il loroCollezione dinamica per le animazioni con immagini multi-frame.Un nuovo quadro verrà creato in base alla dimensione dell’immagine attuale.

public ApngFrame AddFrame()

Returns

ApngFrame

Il nuovo frame APNG creato.

AddFrame(RasterImage)

Improvvisamente espandere la vostra collezione di frame aggiungendo un nuovo frame alla finecon questo metodo intuitivo. perfetto per gli sviluppatori che cercano di migliorare il loroAnimazioni di immagini multi-frame in modo dinamico.I contenuti del nuovo quadro saranno riempiti dall’immagine specificata.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Il quadro immagine.

Examples

L’esempio seguente mostra come creare l’immagine APNG da un’altra immagine single-page del raster.

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

Il frameImage è zero.

AddFrame(Il rossetto, uint)

Espandere la vostra collezione di frame senza sforzo appendendo un nuovo frame allacon questo metodo intuitivo. ideale per gli sviluppatori che cercano di arricchire il loroAnimazione di immagini multi-frame.I contenuti del nuovo quadro saranno riempiti dall’immagine specificata.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Il quadro immagine.

frameTime uint

La durata del quadro, in millisecondi.

Exceptions

ArgumentNullException

Il frameImage è zero.

AddPage(RasterImage)

Aggiungi una nuova pagina all’immagine senza sforzo con questo metodo intuitivo.Perfetto per gli sviluppatori che cercano di espandere dinamicamente il contenuto dei loro file di immagine.

public void AddPage(RasterImage page)

Parameters

page RasterImage

La pagina da aggiungere.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Facilmente adattare la luminosità dell’immagine con questo metodo intuitivo, utilizzando il parametro di luminanza specificato. ideale per gli sviluppatori che cercano di migliorare o diminuire dinamicamente l’umidità complessiva delle immagini.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Il valore della luminosità.

AdjustContrast(flotta)

Migliora il contrasto del Aspose.Imaging.Immagineper rendere i dettagli esposti con questo metodo intuitivo. ideale per gli sviluppatoricercare di migliorare la chiarezza visiva e l’impatto delle loro immagini in modo dinamico.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Valore di contrasto (in gamma [-100; 100])

AdjustGamma(flotta)

Applicare la correzione gamma all’immagine utilizzando un coefficiente fluttuantecon questo metodo intuitivo. ideale per gli sviluppatori che cercano un controllo accurato del colorenelle loro immagini.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma per il coefficiente dei canali rosso, verde e blu

AdjustGamma(Flotta, flotta e flotta)

Eseguire la correzione gamma sull’immagine separatamente per i canali rosso, verde e bluutilizzando coefficienti individuali con questo metodo intuitivo. ideale per gli sviluppatori che cercanomigliorare l’equilibrio colorato e la qualità visiva delle loro immagini.

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

Parameters

gammaRed float

Gamma per il coefficiente del canale rosso

gammaGreen float

Gamma per il coefficiente del canale verde

gammaBlue float

Gamma per il coefficiente del canale blu

BinarizeBradley(Il doppio int)

Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattabile di Bradley utilizzando il soglia immagine integrale

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

La differenza di luminosità tra il pixel e la media di una finestra s x s di pixellicentrato intorno a questo pixel.

windowSize int

La dimensione della finestra s x s dei pixel centrati intorno a questo pixel

BinarizeFixed(di byte)

Inutilmente binare l’immagine utilizzando un limite predefinito con questoMetodo intuitivo. ideale per gli sviluppatori che cercano di convertire le immagini in forma binaria,semplificandoli per ulteriori elaborazioni o analisi.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Se il valore grigio corrispondente di un pixel è superiore al limite, un valore di255 sarà assegnato a esso, 0 altrimenti.

BinarizeOtsu()

Eseguire la binarizzazione sull’immagine utilizzando il margine Otsu con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di determinare automaticamente il limite ottimaleConvertire le immagini in forma binaria, migliorando la loro chiarezza e idoneità per ulteriori analisi.

public override void BinarizeOtsu()

Crop(Rectangle)

Improvvisamente coltivare l’immagine per concentrarsi su aree specifiche con questo metodo intuitivo.Perfetto per gli sviluppatori che cercano di rinfinire dinamicamente la composizione delle loro immagini.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Il rectangolo .

Crop(int, int, int, int)

Coltivare l’immagine mentre si adattano i cambiamenti senza sguardo con questo metodo intuitivo.Ideale per gli sviluppatori che cercano un controllo preciso sul processo di raccoltaper concentrarsi su aree specifiche delle loro immagini Apng.

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

Parameters

leftShift int

La sinistra cambia.

rightShift int

Il giusto cambio.

topShift int

Il top shift.

bottomShift int

Il basso cambiamento.

Dither(DitheringMethod, int, IColorPalette)

Facilmente applicare gli effetti di distrazione all’immagine corrente con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di aggiungere texture o ridurre il legame dei colori nelle loro immagini.

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

Parameters

ditheringMethod DitheringMethod

Il metodo di diffusione.

bitsCount int

I bit finali contano per il dithering.

customPalette IColorPalette

La paletta personalizzata per il dithering.

Filter(Rettangolo, FilterOptionsBase)

Applicare senza sforzo i filtri al rettangolo specificato dell’immagine con questoMetodo intuitivo. perfetto per gli sviluppatori che cercano di migliorare o modificare aree specifiche.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Il rectangolo .

options FilterOptionsBase

Le opzioni .

GetDefaultOptions(oggetto[])

Retrate le opzioni predefinite senza sforzo con questo metodo semplice.Ideale per gli sviluppatori che cercano un rapido accesso alle impostazioni immagine Apng predefinite.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Gli argomenti .

Returns

ImageOptionsBase

Opzioni di default

GetModifyDate(di bool)

Ottieni rapidamente la data e l’ora in cui la immagine risorsa è stata modificata per l’ultima voltacon questo metodo user-friendly. ideale per gli sviluppatori che hanno bisogno di tracciare i cambiamentigestire efficacemente le risorse.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

se impostato a ’true’ utilizza le informazioni di FileInfo come valore predefinito.

Returns

DateTime

La data e l’ora dell’immagine risorsa è stata modificata per l’ultima volta.

GetOriginalOptions()

Retrieve opzioni basate sulle impostazioni dei file originali senza sforzo con questo metodo intuitivo.Perfetto per gli sviluppatori che cercano di accedere e utilizzare le impostazioni che si alignano con le caratteristichedel file originale.Questo può essere utile per mantenere la profondità del bit e altri parametri dell’immagine originale invariati.Ad esempio, se caricamo un’immagine PNG in bianco e nero con 1 bit per pixel e lo salviamo utilizzando ilAspose.Imaging.DataStreamSupporter.Save(System.String) metodo, l’immagine PNG di uscita con 8 bit per pixel sarà prodotto.Per evitare e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di risparmio corrispondenti e passare loroper il metodo Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) come secondo parametro.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Le opzioni basate sulle impostazioni del file originale.

GetPagesAsEnumerable()

Ricevi le pagine come numerabili.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable di < Image >

Le proprie pagine come elencabili.

Grayscale()

Trasformare facilmente l’immagine nella sua rappresentazione grayscale con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di convertire le immagini colorate in grayscale, semplificando le loroprocessi di visualizzazione o analisi.

public override void Grayscale()

InsertFrame(int)

Inserisci senza sforzo un nuovo quadro nella tua collezione di frame nella specificacon questo metodo intuitivo. ideale per gli sviluppatori che cercano un controllo accuratoL’organizzazione dei quadri nelle loro animazioni di immagini multi-frame.Un nuovo quadro verrà creato in base alla dimensione dell’immagine attuale.

public ApngFrame InsertFrame(int index)

Parameters

index int

L’indice è

Returns

ApngFrame

Il nuovo frame APNG creato.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(di RasterImage)

Inserisci un nuovo quadro nella propria collezione di frame all’indice specificato.I contenuti del nuovo quadro saranno riempiti dall’immagine specificata.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

L’indice è

frameImage RasterImage

Il quadro immagine.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Il frameImage è zero.

InsertFrame(di RasterImage, uint)

Inserisci un nuovo quadro nella propria collezione di frame all’indice specificato.I contenuti del nuovo quadro saranno riempiti dall’immagine specificata.

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

Parameters

index int

L’indice è

frameImage RasterImage

Il quadro immagine.

frameTime uint

La durata del quadro, in millisecondi.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Il frameImage è zero.

PopFrameAt(int)

Rimuovere e recuperare il frame all’indice specificato dalla vostra collezione di framecon questo metodo intuitivo. perfetto per gli sviluppatori che cercano gestione efficientedei quadri nelle loro animazioni.

public ApngFrame PopFrameAt(int index)

Parameters

index int

L’indice è

Returns

ApngFrame

Il frame APNG rimosso.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Rilascia le risorse gestite. assicurarsi che nessuna risorsa non gestita sia rilasciata qui, poiché potrebbero essere stategià rilasciato.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Rimuovere la vostra collezione di frame rimuovendo tutti i frame con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di ripristinare o rinfrescare le loro animazioni.

public void RemoveAllFrames()

Examples

L’esempio seguente mostra come creare l’immagine APNG da un’altra immagine single-page del raster.

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

Rimuovere il frame all’indice specificato dalla vostra collezione di frame senza segniPerfetto per gli sviluppatori che cercano una gestione accurata dei framenelle loro immagini multi-frame.Il quadro da cancellare sarà eliminato.

public void RemoveFrameAt(int index)

Parameters

index int

L’indice è

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Rimuovere un’immagine predefinita con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di ripristinare o rimuovere l’immagine predefinita nella loro animazione.Dopo questo, l’immagine predefinita è il primo quadro nella stessa collezione di frame(non può essere cancellato utilizzando questo metodo).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Ristrutturare l’immagine senza sforzo con questo metodo intuitivo. perfetto per gli sviluppatoricercare di adattare dinamicamente le dimensioni delle loro immagini.

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

Parameters

newWidth int

La nuova larghezza.

newHeight int

La nuova altezza.

resizeType ResizeType

Il tipo di ritorno.

Resize(int, int, immagineResizeSettings)

Ristrutturare l’immagine.

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

Parameters

newWidth int

La nuova larghezza.

newHeight int

La nuova altezza.

settings ImageResizeSettings

Il ripristino delle impostazioni.

ResizeHeightProportionally(Integrazione, ResizeType)

Adattare senza sforzo l’altezza dell’immagine mantenendo le sue proporzionicon questo metodo intuitivo. perfetto per gli sviluppatori che cercano di ripristinare le immaginiin modo dinamico, mantenendo il loro rapporto di aspetto.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

La nuova altezza.

resizeType ResizeType

Tipo di ritorno.

ResizeWidthProportionally(Integrazione, ResizeType)

Proporzionalmente ridurre la larghezza dell’immagine senza sforzo con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di mantenere il rapporto aspetto delle loro immagini mentreadeguare le loro dimensioni.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

La nuova larghezza.

resizeType ResizeType

Tipo di ritorno.

Rotate(Flotta, Bool, Colore)

Rota l’immagine intorno al suo centro senza sforzo con questo metodo intuitivo.Perfetto per gli sviluppatori che cercano di regolare dinamicamente l’orientamento delle loro immagini.

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

Parameters

angle float

L’angolo di rotazione in gradi. valori positivi gireranno in orologio.

resizeProportionally bool

se impostato a ’true’ avrai cambiato la dimensione dell’immagine in base alle proiezioni rettangoli rotate (punti corni) in altri casi che lasciano le dimensioni non toccate e solointerni i contenuti di immagine sono rotati.

backgroundColor Color

Il colore del background.

RotateFlip(RotateFlipType)

Manipolare senza sforzo il quadro attivo rotando, flipping o entrambicon questo metodo intuitivo. ideale per gli sviluppatori che cercano di personalizzareImmagini di orientamento frame.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Il tipo di flip rotato.

SaveData(Stream)

Salva i dati.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Il flusso per salvare i dati.

SetDefaultImage(RasterImage)

Configurare l’immagine del raster specifica come immagine predefinita dell’animazione correnteperfetto per gli sviluppatori che cercano di personalizzarel’immagine predefinita nelle loro animazioni.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

La immagine .

Exceptions

ArgumentNullException

L’immagine è zero.

UpdateDimensions(di int, int)

Aggiornare le dimensioni dell’immagine.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

La nuova larghezza dell’immagine.

newHeight int

L’altezza della nuova immagine.

UpdateMetadata()

Aggiornare i metadati di immagine.

protected override void UpdateMetadata()
 Italiano