ApngImage

ApngImage class

L’image PNG animée.

public sealed class ApngImage : RasterCachedMultipageImage, IMultipageImageExt

Constructeurs

NomLa description
ApngImage(ApngOptions, int, int)Initialise une nouvelle instance duApngImage classe.

Propriétés

NomLa description
AutoAdjustPalette { get; set; }Obtient ou définit une valeur indiquant si la palette de réglage automatique.
override BackgroundColor { get; set; }Obtient ou définit une valeur pour la couleur d’arrière-plan.
override BitsPerPixel { get; }Obtient le nombre de bits d’image par pixel.
Bounds { get; }Obtient les limites de l’image.
BufferSizeHint { get; set; }Obtient ou définit l’indice de taille de tampon qui est défini comme la taille maximale autorisée pour tous les tampons internes.
Container { get; }Obtient leImage conteneur.
DataStreamContainer { get; }Obtient le flux de données de l’objet.
DefaultFrameTime { get; set; }Obtient ou définit la durée de trame par défaut. Utilisé lors de la création de nouvelles trames.
Disposed { get; }Obtient une valeur indiquant si cette instance est supprimée.
override FileFormat { get; }Obtient une valeur de format de fichier
override HasAlpha { get; }Obtient une valeur indiquant si cette instance a alpha.
virtual HasBackgroundColor { get; set; }Obtient ou définit une valeur indiquant si l’image a une couleur d’arrière-plan.
override HasTransparentColor { get; }Obtient une valeur indiquant si l’image a une couleur transparente.
override Height { get; }Obtient la hauteur de l’image.
virtual HorizontalResolution { get; set; }Obtient ou définit la résolution horizontale, en pixels par pouce, de ceRasterImage .
override ImageOpacity { get; }Obtient l’opacité de cette image.
Interlaced { get; }Obtient une valeur indiquant si celaPngImage est entrelacé.
InterruptMonitor { get; set; }Obtient ou définit le moniteur d’interruption.
IsCached { get; }Obtient une valeur indiquant si les données d’image sont actuellement mises en cache.
IsRawDataAvailable { get; }Obtient une valeur indiquant si le chargement des données brutes est disponible.
NumPlays { get; set; }Obtient ou définit le nombre de fois pour boucler l’animation. 0 indique une boucle infinie.
override PageCount { get; }Obtient le nombre de pages.
override PageExportingAction { get; set; }Obtient ou définit l’action d’exportation de la page. Veuillez noter que la définition de cette méthode libérera automatiquement les ressources de la page après son exécution. Elle sera exécutée juste avant l’enregistrement de chaque page.
override Pages { get; }Obtient les pages.
Palette { get; set; }Obtient ou définit la palette de couleurs. La palette de couleurs n’est pas utilisée lorsque les pixels sont représentés directement.
virtual PremultiplyComponents { get; set; }Obtient ou définit une valeur indiquant si les composants de l’image doivent être prémultipliés.
RawCustomColorConverter { get; set; }Obtient ou définit le convertisseur de couleur personnalisé
virtual RawDataFormat { get; }Obtient le format des données brutes.
RawDataSettings { get; }Obtient les paramètres de données brutes actuels. Notez que lorsque vous utilisez ces paramètres, les données se chargent sans conversion.
RawFallbackIndex { get; set; }Obtient ou définit l’index de secours à utiliser lorsque l’index de palette est hors limites
RawIndexedColorConverter { get; set; }Obtient ou définit le convertisseur de couleur indexé
virtual RawLineSize { get; }Obtient la taille de ligne brute en octets.
Size { get; }Obtient la taille de l’image.
virtual TransparentColor { get; set; }Obtient la couleur transparente de l’image.
virtual UpdateXmpData { get; set; }Obtient ou définit une valeur indiquant s’il faut mettre à jour les métadonnées XMP.
override UsePalette { get; }Obtient une valeur indiquant si la palette d’images est utilisée.
virtual UseRawData { get; set; }Obtient ou définit une valeur indiquant s’il faut utiliser le chargement des données brutes lorsque le chargement des données brutes est disponible.
virtual VerticalResolution { get; set; }Obtient ou définit la résolution verticale, en pixels par pouce, de ceRasterImage .
override Width { get; }Obtient la largeur de l’image.
override XmpData { get; set; }Obtient ou définit les métadonnées XMP.

Méthodes

NomLa description
AddFrame()Ajoute un nouveau cadre à la fin de sa propre collection de cadres. Un nouveau cadre sera créé en fonction de la taille de l’image actuelle.
AddFrame(RasterImage)Ajoute un nouveau cadre à la fin de sa propre collection de cadres. Le contenu du nouveau cadre sera rempli à partir de l’image spécifiée.
AddFrame(RasterImage, uint)Ajoute un nouveau cadre à la fin de sa propre collection de cadres. Le contenu du nouveau cadre sera rempli à partir de l’image spécifiée.
AddPage(RasterImage)Ajoute une page à l’image.
override AdjustBrightness(int)Ajustement d’unbrightness pour image.
override AdjustContrast(float)Image contraste
override AdjustGamma(float)Correction gamma d’une image.
override AdjustGamma(float, float, float)Correction gamma d’une image.
override BinarizeBradley(double)Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral
override BinarizeBradley(double, int)Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral
override BinarizeFixed(byte)Binarisation d’une image avec seuil prédéfini
override BinarizeOtsu()Binarisation d’une image avec seuillage Otsu
override CacheData()Cache les données privées.
CanSave(ImageOptionsBase)Détermine si l’image peut être enregistrée dans le format de fichier spécifié représenté par les options d’enregistrement transmises.
override Crop(Rectangle)Recadrage de l’image.
override Crop(int, int, int, int)Recadrer l’image avec des décalages.
Dispose()Supprime l’instance actuelle.
Dither(DitheringMethod, int)Effectue un tramage sur l’image actuelle.
override Dither(DitheringMethod, int, IColorPalette)Effectue un tramage sur l’image actuelle.
override Filter(Rectangle, FilterOptionsBase)Filtre le rectangle spécifié.
GetArgb32Pixel(int, int)Obtient une image pixel ARGB 32 bits.
GetDefaultArgb32Pixels(Rectangle)Obtient le tableau de pixels ARGB 32 bits par défaut.
override GetDefaultOptions(object[])Récupère les options par défaut.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Obtient le tableau de pixels par défaut à l’aide du chargeur de pixels partiel.
GetDefaultRawData(Rectangle, RawDataSettings)Obtient le tableau de données brutes par défaut.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Obtient le tableau de données brutes par défaut à l’aide du chargeur de pixels partiel.
override GetModifyDate(bool)Obtient la date et l’heure de la dernière modification de l’image de ressource.
override GetOriginalOptions()Obtient les options basées sur les paramètres du fichier d’origine. Cela peut être utile pour conserver la profondeur de bits et d’autres paramètres de l’image d’origine inchangés. Par exemple, si nous chargeons une image PNG noir-blanc avec 1 bit par pixel, puis enregistrez-le en utilisant the Save , l’image PNG de sortie avec 8 bits par pixel sera produite. Pour l’éviter et enregistrer l’image PNG avec 1 bit par pixel, utilisez cette méthode pour obtenir les options d’enregistrement correspondantes et passez-les auSave méthode comme deuxième paramètre.
GetPixel(int, int)Obtient un pixel d’image.
GetSkewAngle()Obtient l’angle d’inclinaison. Cette méthode est applicable aux documents texte numérisés, pour déterminer l’angle d’inclinaison lors de la numérisation.
override Grayscale()Transformation d’une image en sa représentation en niveaux de gris
InsertFrame(int)Insère un nouveau cadre dans la propre collection de cadres à l’index spécifié. Un nouveau cadre sera créé en fonction de la taille de l’image actuelle.
InsertFrame(int, RasterImage)Insère un nouveau cadre dans la propre collection de cadres à l’index spécifié. Le contenu du nouveau cadre sera rempli à partir de l’image spécifiée.
InsertFrame(int, RasterImage, uint)Insère un nouveau cadre dans la propre collection de cadres à l’index spécifié. Le contenu du nouveau cadre sera rempli à partir de l’image spécifiée.
LoadArgb32Pixels(Rectangle)Charge les pixels ARGB 32 bits.
LoadArgb64Pixels(Rectangle)Charge les pixels ARGB 64 bits.
LoadCmyk32Pixels(Rectangle)Charge les pixels au format CMJN.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Charge les pixels ARGB 32 bits partiellement par packs.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Charge les pixels partiellement par packs.
LoadPixels(Rectangle)Charge les pixels.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Charge les données brutes.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Charge les données brutes.
NormalizeAngle()Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utiliseGetSkewAngle etRotate méthodes.
override NormalizeAngle(bool, Color)Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utilise!:GetSkewAngle etRotate méthodes.
PopFrameAt(int)Supprime et renvoie le cadre à l’index spécifié de la propre collection de cadres.
ReadArgb32ScanLine(int)Lit toute la ligne de balayage par l’index de ligne de balayage spécifié.
ReadScanLine(int)Lit toute la ligne de balayage par l’index de ligne de balayage spécifié.
RemoveAllFrames()Supprime tous les cadres de la propre collection de cadres.
RemoveFrameAt(int)Supprime le cadre à l’index spécifié de la propre collection de cadres. Le cadre à supprimer sera supprimé.
ReplaceColor(Color, byte, Color)Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses.
override ReplaceColor(int, byte, int)Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses.
ReplaceNonTransparentColors(Color)Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour enregistrer des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule.
override ReplaceNonTransparentColors(int)Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour enregistrer des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule.
ResetDefaultImage()Supprime une image par défaut précédemment définie. Après cela, l’image par défaut est la première image de la propre collection d’images (elle ne peut pas être supprimée à l’aide de cette méthode).
Resize(int, int)Redimensionne l’image. Le défautNearestNeighbourResample est utilisé.
override Resize(int, int, ImageResizeSettings)Redimensionne l’image.
override Resize(int, int, ResizeType)Redimensionne l’image.
ResizeHeightProportionally(int)Redimensionne la hauteur proportionnellement. Le défautNearestNeighbourResample est utilisé.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Redimensionne la hauteur proportionnellement.
override ResizeHeightProportionally(int, ResizeType)Redimensionne la largeur proportionnellement.
ResizeWidthProportionally(int)Redimensionne la largeur proportionnellement. Le défautNearestNeighbourResample est utilisé.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Redimensionne la largeur proportionnellement.
override ResizeWidthProportionally(int, ResizeType)Redimensionne la largeur proportionnellement.
virtual Rotate(float)Faire pivoter l’image autour du centre.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate image autour du centre.
override RotateFlip(RotateFlipType)Fait pivoter, retourne ou fait pivoter et retourne le cadre actif uniquement.
Save()Enregistre les données d’image dans le flux sous-jacent.
Save(Stream)Enregistre les données de l’objet dans le flux spécifié.
override Save(string)Enregistre l’image à l’emplacement de fichier spécifié.
Save(Stream, ImageOptionsBase)Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
virtual Save(string, bool)Enregistre les données de l’objet à l’emplacement de fichier spécifié.
virtual Save(string, ImageOptionsBase)Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
override Save(Stream, ImageOptionsBase, Rectangle)Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
virtual Save(string, ImageOptionsBase, Rectangle)Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
SaveArgb32Pixels(Rectangle, int[])Enregistre les pixels ARGB 32 bits.
SaveCmyk32Pixels(Rectangle, int[])Enregistre les pixels.
SavePixels(Rectangle, Color[])Enregistre les pixels.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Enregistre les données brutes.
SetArgb32Pixel(int, int, int)Définit un pixel ARGB 32 bits d’image pour la position spécifiée.
SetDefaultImage(RasterImage)Définit l’image raster spécifiée comme image par défaut de l’animation actuelle.
override SetPalette(IColorPalette, bool)Définit la palette d’images.
SetPixel(int, int, Color)Définit un pixel d’image pour la position spécifiée.
virtual SetResolution(double, double)Définit la résolution pour ceRasterImage .
virtual ToBitmap()Convertit l’image raster en bitmap.
WriteArgb32ScanLine(int, int[])Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié.
WriteScanLine(int, Color[])Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié.

Exemples

L’exemple suivant montre comment exporter le format de fichier apng APNG à partir d’un autre format multipage non animé.

[C#]

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

using (Image image = Image.Load("img4.tif")) {
    // Configuration de la durée de trame par défaut
    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 suivant montre comment exporter au format de fichier APNG.

[C#]

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

using (Image image = Image.Load("Animation1.webp")) {
    // Exporter vers l'animation APNG avec des cycles d'animation illimités par défaut
    image.Save("Animation1.webp.png", new ApngOptions());
    // Paramétrage des cycles d'animation
    image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
}

L’exemple suivant montre comment créer une image APNG à partir d’une autre image raster d’une seule page.

[C#]

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))
    {
        // Il est possible de définir ici le temps de trame par défaut de l'image : apngImage.DefaultFrameTime = (uint)FrameDuration ;

        int numOfFrames = AnimationDuration / FrameDuration;
        int numOfFrames2 = numOfFrames / 2;

        // Nettoyage car l'image contient un frame par défaut
        apngImage.RemoveAllFrames();

        // ajoute la première image
        apngImage.AddFrame(sourceImage);

        // ajoute des cadres intermédiaires
        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);
        }

        // ajoute la dernière image
        apngImage.AddFrame(sourceImage);

        apngImage.Save();
    }
}

Voir également