GifImage

GifImage class

Une image gif.

public sealed class GifImage : RasterCachedMultipageImage, IMultipageImageExt

Constructeurs

NomLa description
GifImage(GifFrameBlock)Initialise une nouvelle instance duGifImage classe.
GifImage(GifFrameBlock, IColorPalette)Initialise une nouvelle instance duGifImage classe.
GifImage(GifFrameBlock, IColorPalette, bool, byte, byte, byte, bool)Initialise une nouvelle instance duGifImage classe.

Propriétés

NomLa description
ActiveFrame { get; set; }Obtient ou définit le cadre actif.
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 la couleur d’arrière-plan.
BackgroundColorIndex { get; set; }Obtient ou définit l’index de couleur d’arrière-plan.
override BitsPerPixel { get; }Obtient le nombre de bits d’image par pixel.
Blocks { get; }Obtient les blocs GIF.
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.
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.
override HasBackgroundColor { get; }Obtient une valeur indiquant si l’image a une couleur d’arrière-plan.
HasTrailer { get; set; }Obtient ou définit une valeur indiquant si le GIF a une bande-annonce.
override HasTransparentColor { get; set; }Obtient une valeur indiquant si le cadre actif 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 (cadre actif).
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.
IsInterlaced { get; }Obtient une valeur indiquant si cette instance d’image est entrelacée.
IsPaletteSorted { get; set; }Obtient ou définit une valeur indiquant si la palette est triée.
IsRawDataAvailable { get; }Obtient une valeur indiquant si le chargement des données brutes est disponible.
LoopsCount { get; set; }Obtient le nombre de boucles (si l’image gif contient des informations sur les boucles)
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.
PaletteColorResolutionBits { get; set; }Obtient ou définit les bits de résolution de couleur de la palette.
PixelAspectRatio { get; set; }Obtient ou définit le format des pixels.
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.
override TransparentColor { get; }Obtient la couleur transparente du cadre actif.
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
AddBlock(IGifBlock)Ajoute un nouveau bloc GIF.
AddPage(RasterImage)Ajoute une page à l’image.
override AdjustBrightness(int)Ajustement d’unbrightness pour image.
override AdjustContrast(float)Ajuste le 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.
ClearBlocks()Efface tous les blocs GIF.
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.
virtual 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.
virtual 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
InsertBlock(int, IGifBlock)Ajoute un nouveau bloc GIF.
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.
OrderBlocks()Ordonne les blocs GIF selon la spécification GIF. QuelquesGifGraphicsControlBlock peut être supprimé pour une mise en page GIF appropriée.
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é.
RemoveBlock(IGifBlock)Supprime le bloc GIF.
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.
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.
ResizeFullFrame(int, int, ResizeType)Redimensionne l’image en utilisant des images complètes pour chaque page GIF. Nécessaire pour éviter l’apparition possible d’artefacts.
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.
ResizeProportional(int, int, ResizeType)Effectue un redimensionnement proportionnel sur l’image. Le redimensionnement proportionnel redimensionne chaque image en fonction du rapport denewWidth/largeur etnewHeight /hauteur.
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.
SetFrameTime(ushort)Définit la durée de toutes les trames en millisecondes. La modification de cette valeur réinitialisera le délai pour toutes les trames.
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

Exportation d’une partie de l’animation à partir d’une image GIF basée sur un intervalle de temps.

[C#]

using (var image = Image.Load("Animation.gif"))
{
    var options = new GifOptions
    {
        FullFrame = true,
        MultiPageOptions = new MultiPageOptions
        {
            Mode = MultiPageMode.TimeInterval,
            TimeInterval = new TimeInterval(0, 400)
        }
    };

    image.Save("PartOfAnimation.gif", options);
}

Cet exemple montre comment créer une image GIF et l’enregistrer dans un fichier.

[C#]

string dir = "c:\\temp\\";

// Crée un bloc Frame GIF de 100x100 px.
using (Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock firstBlock = new Aspose.Imaging.FileFormats.Gif.Blocks.GifFrameBlock(100, 100))
{
    // Remplit tout le bloc en rouge.
    Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(firstBlock);
    Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
    gr.FillRectangle(brush, firstBlock.Bounds);

    using (Aspose.Imaging.FileFormats.Gif.GifImage gifImage = new Aspose.Imaging.FileFormats.Gif.GifImage(firstBlock))
    {
        gifImage.Save(dir + "output.gif");
    }
}

Créez une image GIF multipage à l’aide d’images raster d’une seule page.

[C#]

static void Main(string[] args)
{
    // Charger les trames
    var frames = LoadFrames("Animation frames").ToArray();

    // Crée une image GIF en utilisant la première image
    using (var image = new GifImage(new GifFrameBlock(frames[0])))
    {
        // Ajoute des cadres à l'image GIF en utilisant la méthode AddPage
        for (var index = 1; index < frames.Length; index++)
        {
            image.AddPage(frames[index]);
        }

        // Enregistrer l'image GIF
        image.Save("Multipage.gif");
    }
}

private static IEnumerable<RasterImage> LoadFrames(string directory)
{
    foreach (var filePath in Directory.GetFiles(directory))
    {
        yield return (RasterImage)Image.Load(filePath);
    }
}

Voir également