Class ApngImage

Class ApngImage

Numele spaţiului: Aspose.Imaging.FileFormats.Apng Asamblare: Aspose.Imaging.dll (25.4.0)

API pentru PNG (Animate Portable Network Graphics) fișier de imagineformat este o soluție versatilă pentru dezvoltatorii care doresc să integrezeconținut animat în aplicațiile lor. această API oferă extinsecontrol asupra setărilor cadrului, permițând utilizatorilor să definească cadrul-specificparametri, inclusiv durata de loop și setările de fișier PNG.Instrument bogat în caracteristici, puteți gestiona și optimiza cu ușurință afișareaImaginile APNG, importul si exportul imaginilor, imbunatatind dinamica siAspecte interactive ale aplicațiilor dvs.

[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

Membrii moștenitori

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

Următorul exemplu arată cum să exportați formatul de fișier APNG de la alt format multi pagini non-animate.

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
                                                                                                                     }

Următorul exemplu arată cum să exportați în format de fișier 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
                                                                         }

Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică 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 și int)

Începeți să lucrați cu clasa Aspose.Imaging.FileFormats.Apng. ApngImage prin inițializareaun nou exemplu fără efort. perfect pentru dezvoltatorii care caută să înceapăutilizarea obiectelor ApngImage rapid și eficient în proiectele lor.

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

Parameters

options ApngOptions

ale opţiunilor .

width int

în lățime .

height int

înălţime .

Properties

DefaultFrameTime

Ajustarea ușoară a duratei cadrului de bază pentru a crea noi cadre cuAceastă proprietate flexibilă. Perfect pentru dezvoltatori care doresc să personalizeze timing-ul cadruluieficient în animațiile lor.

public uint DefaultFrameTime { get; set; }

Valoarea proprietății

uint

Examples

Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică 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

Acces rapid la informații despre format de fișier cu această proprietate convenabilă.Ideal pentru dezvoltatori care au nevoie să obțină detalii despre formatdin fișierele lor Apng cu ușurință.

public override FileFormat FileFormat { get; }

Valoarea proprietății

FileFormat

Interlaced

Determinați rapid dacă acest obiect Aspose.Imaging.FileFormats.Png.pngImage este interlocuitcu această proprietate convenabilă. ideal pentru dezvoltatori care trebuie să verificestarea de interconectare a imaginilor PNG ușor.

public bool Interlaced { get; }

Valoarea proprietății

bool

NumPlays

Controlați cu ușurință numărul de ori când animația dvs. trece cu acest lucruProprietate versatilă. Perfect pentru dezvoltatori care caută un control precis asupracomportamentul de animație, cu sprijin pentru întoarcerea infinită în cazulValoarea este egală cu 0.

public int NumPlays { get; set; }

Valoarea proprietății

int

PageCount

Returnați numărul total de pagini din fișierul dvs. de imagine fără efort cu această proprietate.Ideal pentru dezvoltatori care au nevoie de acces rapid la informațiile de numărare a paginilor.

public override int PageCount { get; }

Valoarea proprietății

int

Pages

Acces fără efort la paginile imaginii tale cu această proprietate convenabilă.Ideal pentru dezvoltatori care caută acces rapid și ușor la pagini individuale pentru manipulare.

public override Image[] Pages { get; }

Valoarea proprietății

Image []

XmpData

Gestionarea fără efort a metadatelor XMP asociate cu fișierele dvs. folosind acestProprietate versatilă. Perfect pentru dezvoltatori care caută acces sau actualizareMetadata informaţie cu uşurinţă.

public override XmpPacketWrapper XmpData { get; set; }

Valoarea proprietății

XmpPacketWrapper

Methods

AddFrame()

Adăugați cu ușurință un nou cadru la sfârșitul colecției dvs. de cadre cu acestmetodă simplă. ideal pentru dezvoltatorii care doresc să-și extindăColectarea dinamică a cadrelor pentru animații cu imagini multi-frame.Un nou cadru va fi creat în funcție de dimensiunea imaginii actuale.

public ApngFrame AddFrame()

Returns

ApngFrame

Noul cadru APNG creat.

AddFrame(RasterImage)

Extindeți fără efort colecția dvs. de cadru prin adăugarea unui nou ram la capătcu această metodă intuitivă. perfect pentru dezvoltatorii care doresc să-și îmbunătățeascăAnimarea imaginilor multi-frame în mod dinamic.Conținutul noului cadru va fi umplut din imaginea specificată.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

Imaginea din cadru.

Examples

Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică 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

FrameImage este zero.

AddFrame(Războiul, UINT)

Extindeți colecția de cadru fără întârziere prin adăugarea unei noi cadre lacu această metodă intuitivă. ideal pentru dezvoltatorii care doresc să-și îmbogățeascăImagini cu imagini multi-frame.Conținutul noului cadru va fi umplut din imaginea specificată.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

Imaginea din cadru.

frameTime uint

Durata cadrului, în milisecunde.

Exceptions

ArgumentNullException

FrameImage este zero.

AddPage(RasterImage)

Adăugați o nouă pagină imaginii fără efort cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să extindă conținutul fișierelor lor de imagine în mod dinamic.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Pagina pentru a adăuga.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Facil de ajustat luminozitatea a imaginii cu această metodă intuitivă, folosind parametru specificat de luminositate. ideal pentru dezvoltatori care doresc să îmbunătățească sau să diminueze lumina generală a imaginilor în mod dinamic.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Valori de lumină.

AdjustContrast(float)

Îmbunătățește contrastul Aspose.Imaging.Imagepentru a face detaliile să se evidențieze cu această metodă intuitivă. ideal pentru dezvoltatoriÎncercând să îmbunătățească în mod dinamic claritatea vizuală și impactul imaginilor lor.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Valoarea contrastului (în interval [-100; 100])

AdjustGamma(float)

Aplicați corecția gamma la imagine folosind un coeficient de punct de flotareIdeal pentru dezvoltatori care caută controlul precis al culorilorîn imaginile lor.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gama pentru coeficientul canalelor roșii, verzi și albastru

AdjustGamma(în float, float, float)

Executați corecția gamma pe imagine separat pentru canalele roșu, verde și albastruutilizarea coeficientelor individuale cu această metodă intuitivă. ideal pentru dezvoltatorii care cautăpentru echilibrul de culori fine-tune și pentru a îmbunătăți calitatea vizuală a imaginilor lor.

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

Parameters

gammaRed float

Gama pentru coeficientul canalului roșu

gammaGreen float

Gama pentru coeficientul canalului verde

gammaBlue float

Gamma pentru coeficientul canalului albastru

BinarizeBradley(Două ori, int)

Binarizarea unei imagini folosind algoritmul adaptiv de limită al lui Bradley folosind limitele integrale ale imaginii

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Diferența de luminozitate între pixel și medie a unui s x s fereastră de pixeliCentrat în jurul acestui pixel.

windowSize int

Dimensiunea ferestrei s x s a pixelelor centrate în jurul acestui pixel

BinarizeFixed(în byte)

Binarează fără efort imaginea folosind un prag predefinit cu acestMetoda intuitivă. ideal pentru dezvoltatorii care caută să converteze imagini în forme binare,să le simplifice pentru prelucrare sau analiză ulterioară.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

În cazul în care valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, un255 vor fi atribuite acestuia, 0 altfel.

BinarizeOtsu()

Performanța binarizării pe imagine folosind pragul Otsu cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să determine automat pragul optim pentrutransformarea imaginilor în forme binare, îmbunătățind claritatea și adecvarea acestora pentru analiză ulterioară.

public override void BinarizeOtsu()

Crop(Rectangle)

Creați fără efort imaginea pentru a se concentra pe domenii specifice cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să rafineze în mod dinamic compoziția imaginilor lor.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

în rectanglu .

Crop(int, int, int, int)

Cultivați imaginea în timp ce ajustați schimbările fără întârziere cu această metodă intuitivă.Ideal pentru dezvoltatori care caută un control precis asupra procesului de recoltaresă se concentreze asupra domeniilor specifice ale imaginilor lor Apng.

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

Parameters

leftShift int

Schimbarea de stânga.

rightShift int

Schimbarea dreaptă.

topShift int

Cea mai mare schimbare.

bottomShift int

Schimbarea de jos.

Dither(DitheringMetodă, int, IColorPalette)

Aplicați cu ușurință efectele de difuzare la imaginea curentă cu această metodă intuitivă.Ideal pentru dezvoltatorii care doresc să adauge textura sau să reducă bandajul de culori în imaginile lor.

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

Parameters

ditheringMethod DitheringMethod

Metoda de depăşire.

bitsCount int

Ultimele bite contează pentru dithering.

customPalette IColorPalette

Paleta obișnuită pentru dithering.

Filter(Rectangle, FilterOptionsBase)

Aplicați cu ușurință filtrele la rectanglul specificat al imaginii cu acestPerfect pentru dezvoltatori care caută să îmbunătățească sau să modifice zone specifice.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

în rectanglu .

options FilterOptionsBase

ale opţiunilor .

GetDefaultOptions(Obiectul[])

Reduceți opțiunile predefinite fără efort cu această metodă simplă.Ideal pentru dezvoltatorii care caută acces rapid la setările de imagine ale Apng.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

Argumentele sunt.

Returns

ImageOptionsBase

Opțiuni deficitare

GetModifyDate(Boulă)

Obțineți rapid data și ora la care a fost ultima modificare a imaginii de resursecu această metodă prietenoasă cu utilizatorul. ideal pentru dezvoltatorii care trebuie să urmeze schimbărilegestionarea eficientă a resurselor.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

în cazul în care este setat la „true”, utilizați informațiile din FileInfo ca valoare predefinită.

Returns

DateTime

Data și timpul a fost ultima modificare a imaginii de resurse.

GetOriginalOptions()

Recuperarea opțiunilor bazate pe setările de fișier originale fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută accesul și utilizarea setărilor care se aliniază cu caracteristiciledin fișierul original.Acest lucru poate fi util pentru a menține adâncimea și alte parametri ale imaginii originale inalterate.De exemplu, dacă încărcăm o imagine PNG alb-negru cu 1 bit pe pixel și apoi o salvăm folosindAspose.Imaging.DataStreamSupporter.Save(System.String) metoda, va fi produs imaginea PNG de ieșire cu 8 bit pe pixel.Pentru a evita acest lucru și pentru a salva imaginea PNG cu 1 bit pe pixel, utilizați această metodă pentru a obține opțiunile de salvare corespunzătoare și a le trecela metoda Aspose.Imaging.Image.Save(System.String,_W L17.ImagineOptionsBase) ca al doilea parametru.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opțiunile bazate pe setările de fișier originale.

GetPagesAsEnumerable()

Faceţi paginile numărabile.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable < Image >

Pagini proprii la numerar.

Grayscale()

Facil de transformat imaginea în reprezentarea sa grayscale cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să converteze imagini de culoare în grayscale, simplificându-leprocesele de vizualizare sau de analiză.

public override void Grayscale()

InsertFrame(int)

Introduceți cu ușurință un nou cadru în colecția dvs. de cadre la setul specificatcu această metodă intuitivă. ideal pentru dezvoltatorii care caută un control precis asupraorganizarea cadrelor în animațiile lor de imagini multi-frame.Un nou cadru va fi creat în funcție de dimensiunea imaginii actuale.

public ApngFrame InsertFrame(int index)

Parameters

index int

pentru indexul.

Returns

ApngFrame

Noul cadru APNG creat.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Răspundeți, RasterImage)

Introduceți un nou cadru în propria colecție de cadre la indexul specificat.Conținutul noului cadru va fi umplut din imaginea specificată.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

pentru indexul.

frameImage RasterImage

Imaginea din cadru.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage este zero.

InsertFrame(Răspundeți, RasterImage, Uint)

Introduceți un nou cadru în propria colecție de cadre la indexul specificat.Conținutul noului cadru va fi umplut din imaginea specificată.

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

Parameters

index int

pentru indexul.

frameImage RasterImage

Imaginea din cadru.

frameTime uint

Durata cadrului, în milisecunde.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

FrameImage este zero.

PopFrameAt(int)

Îndepărtați și retrageți cadrul la indexul specificat din colecția dvs. de cadrecu această metodă intuitivă. perfect pentru dezvoltatorii care caută management eficientîn cadrul animaţiilor lor.

public ApngFrame PopFrameAt(int index)

Parameters

index int

pentru indexul.

Returns

ApngFrame

Îndepărtarea cadrului APNG.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Eliberează resursele gestionate. asigurați-vă că nu sunt eliberate resurse necontrolate aici, deoarece acestea pot fideja eliberat.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Clarificați colecția de cadre prin îndepărtarea tuturor cadrelor cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să-și reinstaleze sau să își refresheze animațiile.

public void RemoveAllFrames()

Examples

Următorul exemplu arată cum să creați o imagine APNG dintr-o altă imagine unică 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)

Îndepărtați ramul la indexul specificat din colecția de ramuri fără întârzierePerfect pentru dezvoltatori care caută o gestionare simplificată a cadrelorîn imaginile lor multi-frame.Cadrul care urmează să fie șters va fi eliminat.

public void RemoveFrameAt(int index)

Parameters

index int

pentru indexul.

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Îndepărtați o imagine predefinită folosind această metodă intuitivă.Ideal pentru dezvoltatorii care caută să restabilească sau să ștergă imaginea predefinită în animația lor.După aceasta, imaginea predefinită este primul cadru din propria colecție de cadre.(nu se poate șterge folosind această metodă).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Rezați imaginea fără întârziere cu această metodă intuitivă. Perfect pentru dezvoltatoriÎncercând să ajusteze dinamic dimensiunile imaginilor lor.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

Resize(int, int, ImageResizeSettings)

Reduceţi imaginea.

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

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

settings ImageResizeSettings

Împreună cu setările de rezistență.

ResizeHeightProportionally(Răspundeți, Răspundeți)

Modifică cu ușurință înălțimea imaginii, menținând proporțiile salecu această metodă intuitivă. Perfect pentru dezvoltatori care caută să recapitalizeze imaginidinamic, menținând în același timp raportul lor de aspect.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

ResizeWidthProportionally(Răspundeți, Răspundeți)

În mod proporțional, rezumați lățimea imaginii fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să mențină raportul aspect al imaginilor lor în timp ceAdaptarea dimensiunilor lor.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

În noua lățime.

resizeType ResizeType

Tipul de rezistenţă.

Rotate(float, bool, culoare)

Rotați imaginea în jurul centrului său fără efort cu această metodă intuitivă.Ideal pentru dezvoltatori care caută să adapteze dinamic orientarea imaginilor lor.

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

Parameters

angle float

Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.

resizeProportionally bool

în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.

backgroundColor Color

Culoarea fundalului.

RotateFlip(RotateFlipType)

Manipularea fără efort a cadrului activ prin rotație, flipping sau ambelecu această metodă intuitivă. ideal pentru dezvoltatorii care doresc să se personalizezeorientare a imaginii.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Tipul de flip rotat.

SaveData(Stream)

salvează datele.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Stream pentru a salva datele la.

SetDefaultImage(RasterImage)

Setarea imaginii raster specificate ca imaginea predefinită pentru animația curentăfără efort cu această metodă. Perfect pentru dezvoltatori care doresc să personalizezeImaginea implicită în animațiile lor.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

şi imaginea .

Exceptions

ArgumentNullException

Imaginea este zero.

UpdateDimensions(int, int)

Actualizează dimensiunile imaginii.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Noua dimensiune a imaginii.

newHeight int

Înălțimea noii imagini.

UpdateMetadata()

Actualizează metadata imaginii.

protected override void UpdateMetadata()
 Română