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à
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à
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à
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à
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à
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à
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
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
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
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
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
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
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
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
Le nouveau cadre APNG créé.
Exceptions
index’ is less than 0.or
index’ 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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
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
Le cadre APNG supprimé.
Exceptions
index’ is less than 0.or
index’ 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 < 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();
}
}
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
index’ is less than 0.or
index’ 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
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()