Class ApngImage

Class ApngImage

Le nom : Aspose.Imaging.FileFormats.Apng Assemblée: Aspose.Imaging.dll (25.4.0)

L’API pour le fichier d’image animé PNG (Animated Portable Network Graphics)Le format est une solution polyvalente pour les développeurs qui cherchent à intégrercontenu animé dans leurs applications. cette API offre une large gamme decontrôle sur les paramètres de cadre, permettant à l’utilisateur de définir un cadre spécifiqueparamètres, y compris la durée du loop et les réglages de fichiers PNG.Outil riche en fonctionnalités, vous pouvez gérer et optimiser sans effort l’affichagedes images APNG, importation et exportation d’images, améliorant la dynamique etLes aspects interactifs de vos applications.

[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’exemple ci-dessous montre comment exporter le format de fichier APNG d’un autre format multi-page non animé.

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’exemple ci-dessous montre comment exporter au format de fichier 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’exemple ci-dessous montre comment créer une image APNG à partir d’une autre image de la seule page de 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(Mise à jour int, int)

Commencez à travailler avec la classe Aspose.Imaging.FileFormats.Apng. ApngImage en initialisantune nouvelle instance sans effort. parfait pour les développeurs qui cherchent à commencerutiliser des objets ApngImage rapidement et efficacement dans leurs projets.

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

Parameters

options ApngOptions

Le opzioni .

width int

La larghezza .

height int

La altezza .

Properties

DefaultFrameTime

Facilement ajuster la durée du cadre par défaut pour créer de nouveaux cadres avecCette propriété flexible. Idéal pour les développeurs qui cherchent à personnaliser le timing cadreEfficace dans ses animations.

public uint DefaultFrameTime { get; set; }

Valore di proprietà

uint

Examples

L’exemple ci-dessous montre comment créer une image APNG à partir d’une autre image de la seule page de 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

Accès rapide aux informations sur le format de fichier avec cette propriété pratique.Idéal pour les développeurs qui ont besoin de recueillir des détails sur le formatde leurs fichiers Apng facilement.

public override FileFormat FileFormat { get; }

Valore di proprietà

FileFormat

Interlaced

Déterminer rapidement si cet objet Aspose.Imaging.FileFormats.Png. PngImage est interliquéIdéal pour les développeurs qui ont besoin de vérifierl’état de liaison des images PNG facilement.

public bool Interlaced { get; }

Valore di proprietà

bool

NumPlays

Contrôlez sans effort le nombre de fois que votre animation passe avec cecipropriété polyvalente. parfait pour les développeurs qui cherchent un contrôle précis surcomportement d’animation, avec le soutien à l’infinite looping en cas deLa valeur est égale à 0.

public int NumPlays { get; set; }

Valore di proprietà

int

PageCount

Retirez le nombre total de pages dans votre fichier d’image sans effort avec cette propriété.Idéal pour les développeurs qui ont besoin d’un accès rapide aux informations de numérotation de page.

public override int PageCount { get; }

Valore di proprietà

int

Pages

Accès sans effort aux pages de votre image avec cette propriété pratique.Idéal pour les développeurs qui cherchent un accès rapide et facile à des pages individuelles pour la manipulation.

public override Image[] Pages { get; }

Valore di proprietà

Image [ ]

XmpData

Gérer efficacement les métadonnées XMP associées à vos fichiers en utilisant cepropriété polyvalente. parfait pour les développeurs qui cherchent à accéder ou à mettre à jourInformations sur les métadonnées faciles.

public override XmpPacketWrapper XmpData { get; set; }

Valore di proprietà

XmpPacketWrapper

Methods

AddFrame()

Appliquez facilement un nouveau cadre à la fin de votre collection de cadre avec ceméthode simple. idéal pour les développeurs qui veulent étendre leurcollecte dynamique pour les animations avec des images multi-frame.Un nouveau cadre sera créé en fonction de la taille de l’image actuelle.

public ApngFrame AddFrame()

Returns

ApngFrame

Le nouveau cadre APNG créé.

AddFrame(RasterImage)

Expandez sans effort votre collection de cadre en ajoutant un nouveau cadre à la finavec cette méthode intuitive. parfait pour les développeurs qui cherchent à améliorer leuranimations d’images multi-frame dynamiquement.Les contenus du nouveau cadre seront remplis de l’image spécifiée.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

L’image du cadre.

Examples

L’exemple ci-dessous montre comment créer une image APNG à partir d’une autre image de la seule page de 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

Le frameimage est nulle.

AddFrame(Méditerranée, uint)

Expandez votre collection de cadre en appliquant un nouveau cadre à laavec cette méthode intuitive. idéal pour les développeurs qui cherchent à enrichir leurAnimation des images multi-frame.Les contenus du nouveau cadre seront remplis de l’image spécifiée.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

L’image du cadre.

frameTime uint

Durée du cadre, en milliseconds.

Exceptions

ArgumentNullException

Le frameimage est nulle.

AddPage(RasterImage)

Ajoutez une nouvelle page à l’image sans effort avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à étendre dynamiquement le contenu de leurs fichiers d’image.

public void AddPage(RasterImage page)

Parameters

page RasterImage

La page à ajouter.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(int)

Facilement ajuster la luminosité de l’image avec cette méthode intuitive,l’utilisation du paramètre de lumière spécifié.Ideal pour les développeurs qui cherchent à améliorer ou diminuer de manière dynamique la brillance globale des images.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Il valore della luminosità.

AdjustContrast(Flotte)

Améliorer le contraste du Aspose.Imaging.Imagepour faire remarquer les détails avec cette méthode intuitive. idéal pour les développeurschercher à améliorer la clarté visuelle et l’impact de leurs images de manière dynamique.

public override void AdjustContrast(float contrast)

Parameters

contrast float

valeur de contraste (dans la gamme [-100; 100])

AdjustGamma(Flotte)

Appliquer la correction gamma à l’image en utilisant un coefficient de point de flotIdéal pour les développeurs qui recherchent un contrôle de couleur précisdans leurs images.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma per il coefficiente dei canali rosso, verde e blu

AdjustGamma(Flotte, Flotte et Flotte)

Réalisez une correction gamma sur l’image séparément pour les canaux rouge, vert et bleuutilisant des coefficients individuels avec cette méthode intuitive. idéal pour les développeurs qui cherchentPour améliorer l’équilibre couleur et la qualité visuelle de leurs images.

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(double, 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 différence de luminosité entre le pixel et la moyenne d’une fenêtre s x s de pixelsC’est autour de ce pixel.

windowSize int

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

BinarizeFixed(Le byte)

Impossible de bineriser l’image en utilisant un seuil prédéfini avec ceméthode intuitive. idéal pour les développeurs qui cherchent à convertir des images en forme binaire,les simplifier pour un traitement ou une analyse ultérieure.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Si la valeur grise correspondante d’un pixel est supérieure à la limite, une valeur de255 sera attribué à cela, 0 autrement.

BinarizeOtsu()

Effectuez la binarisation sur l’image en utilisant le seuil Otsu avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à déterminer automatiquement le seuil optimal pourConvertir les images en forme binaire, améliorer leur clarté et leur pertinence pour une analyse ultérieure.

public override void BinarizeOtsu()

Crop(Rectangle)

Impossible de cultiver l’image pour se concentrer sur des domaines spécifiques avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à rafiner la composition de leurs images de manière dynamique.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

Il rectangolo .

Crop(int, int, int, int, int)

Cultiver l’image tout en ajustant les changements sans cesse avec cette méthode intuitive.Idéal pour les développeurs qui recherchent un contrôle précis sur le processus de récoltepour se concentrer sur des domaines spécifiques de leurs images 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(DitheringMétode, int, IColorPalette)

Il est facile d’appliquer les effets de diffusion à l’image actuelle avec cette méthode intuitive.Idéal pour les développeurs qui souhaitent ajouter de la texture ou réduire la bandage des couleurs dans leurs images.

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(Rectangle, FilterOptionsBase)

Appliquer facilement les filtres au rectangle spécifié de l’image avec ceIdéal pour les développeurs qui cherchent à améliorer ou modifier des domaines spécifiques.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

Il rectangolo .

options FilterOptionsBase

Le opzioni .

GetDefaultOptions(Objets[])

Récupérer les options par défaut sans effort avec cette méthode simple.Idéal pour les développeurs qui recherchent un accès rapide aux paramètres d’image Apng par défaut.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Gli argomenti .

Returns

ImageOptionsBase

Opzioni di default

GetModifyDate(Boulée)

Obtenez rapidement la date et l’heure de la dernière modification d’image de ressourceIdéal pour les développeurs qui ont besoin de suivre les changementsGérer efficacement les ressources.

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 options basées sur les paramètres de fichiers originaux sans effort avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à accéder et à utiliser des paramètres qui s’alignent avec les caractéristiquesdu fichier original.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) méthode, l’image PNG de sortie avec 8 bits par pixel sera produite.Per evitare e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di risparmio corrispondenti e passare loroà la méthode Aspose.Imaging.Image.Save(System.String,_Wl17. ImageOptionsBase) comme deuxième paramètre.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Le opzioni basate sulle impostazioni del file originale.

GetPagesAsEnumerable()

Les pages sont en nombre.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable di < Image >

Les pages en tant que numérisables.

Grayscale()

Il est facile de transformer l’image en sa représentation graisseuse avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à convertir des images de couleur en grayscale, simplifiant leurdes processus de visualisation ou d’analyse.

public override void Grayscale()

InsertFrame(int)

Incorporez sans effort un nouveau cadre dans votre collection de cadre à la page spécifiéeavec cette méthode intuitive. idéal pour les développeurs qui cherchent un contrôle précis surl’arrangement des cadres dans leurs animations d’images multi-cadres.Un nouveau cadre sera créé en fonction de la taille de l’image actuelle.

public ApngFrame InsertFrame(int index)

Parameters

index int

L’indice è

Returns

ApngFrame

Le nouveau cadre APNG créé.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Résumé : RasterImage)

Insérer un nouveau cadre dans la collection de cadre à l’indice spécifié.Les contenus du nouveau cadre seront remplis de l’image spécifiée.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

L’indice è

frameImage RasterImage

L’image du cadre.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Le frameimage est nulle.

InsertFrame(Résumé : RasterImage, uint)

Insérer un nouveau cadre dans la collection de cadre à l’indice spécifié.Les contenus du nouveau cadre seront remplis de l’image spécifiée.

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

Parameters

index int

L’indice è

frameImage RasterImage

L’image du cadre.

frameTime uint

Durée du cadre, en milliseconds.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

Le frameimage est nulle.

PopFrameAt(int)

Supprimer et retirer le cadre de l’indice spécifié de votre collection de cadreAvec cette méthode intuitive. parfait pour les développeurs qui cherchent une gestion efficacede fonds dans leurs animations.

public ApngFrame PopFrameAt(int index)

Parameters

index int

L’indice è

Returns

ApngFrame

Le cadre APNG supprimé.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Assurez-vous que les ressources non gérées ne sont pas publiées ici, car elles peuvent avoir étédéjà libéré.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Télécharger votre collection de cadre en supprimant tous les cadres avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à réinstaller ou à renouveler leurs animations.

public void RemoveAllFrames()

Examples

L’exemple ci-dessous montre comment créer une image APNG à partir d’une autre image de la seule page de 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)

Supprimer le cadre à l’index spécifié de votre collection de cadre sans filIdéal pour les développeurs qui recherchent une gestion rigoureuse des cadresdans leurs images multi-frame.Le cadre à supprimer sera éliminé.

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

Supprimer une image par défaut avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à réinstaller ou nettoyer l’image par défaut dans leur animation.Après cela, l’image par défaut est le premier cadre dans la collection de cadre(Il ne peut pas être supprimé en utilisant cette méthode).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Récupérer l’image avec cette méthode intuitive. parfait pour les développeursIls cherchent à adapter les dimensions de leurs images de manière dynamique.

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, imageResizeSettings)

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(Résumé, Résumé)

Adapter facilement la hauteur de votre image tout en conservant ses proportionsavec cette méthode intuitive. parfait pour les développeurs qui cherchent à recycler les imagesdynamique tout en préservant leur proportion d’aspect.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

La nuova altezza.

resizeType ResizeType

Tipo di ritorno.

ResizeWidthProportionally(Résumé, Résumé)

Réservez proportionnellement la largeur de l’image sans effort avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à maintenir le rapport aspect de leurs images tout enAdapter ses dimensions.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

La nuova larghezza.

resizeType ResizeType

Tipo di ritorno.

Rotate(fleat, bool, couleur)

Rotez l’image autour de son centre sans effort avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à adapter l’orientation de leurs images de manière dynamique.

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

s’il est configuré à ’true’ vous aurez la taille de votre image modifiée en fonction des projections rectangles (points corniers) rotés dans d’autres cas qui laissent les dimensions non touchées et seulementinterne contenu de l’image sont rotées.

backgroundColor Color

Il colore del background.

RotateFlip(RotateFlipType)

Manipulez sans effort le cadre actif en rotant, en fliquant, ou les deux.avec cette méthode intuitive. idéal pour les développeurs qui cherchent à personnaliserLes orientations du cadre d’image.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Il tipo di flip rotato.

SaveData(Stream)

Économisez les données.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Le flux pour sauvegarder les données.

SetDefaultImage(RasterImage)

Configurez l’image de raster spécifiée comme image par défaut pour l’animation actuelleparfait pour les développeurs qui cherchent à personnaliserl’image par défaut dans leurs animations.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

La immagine .

Exceptions

ArgumentNullException

L’image est nulle.

UpdateDimensions(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()
 Français