GifOptions

GifOptions class

Les options de création de format de fichier gif.

public class GifOptions : ImageOptionsBase

Constructeurs

NomLa description
GifOptions()Initialise une nouvelle instance duGifOptions classe.
GifOptions(GifOptions)Initialise une nouvelle instance duGifOptions classe.

Propriétés

NomLa description
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 GIF.
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.
ColorResolution { get; set; }Obtient ou définit la résolution de couleur GIF.
Disposed { get; }Obtient une valeur indiquant si cette instance est supprimée.
DoPaletteCorrection { get; set; }Obtient ou définit une valeur indiquant si la correction de palette est appliquée.
FullFrame { get; set; }Obtient ou définit une valeur indiquant si [plein cadre].
HasTrailer { get; set; }Obtient ou définit une valeur indiquant si le GIF a une bande-annonce.
HasTransparentColor { get; set; }Obtient ou définit une valeur indiquant si l’image GIF a une couleur transparente.
Interlaced { get; set; }Vrai si l’image doit être entrelacée.
IsPaletteSorted { get; set; }Obtient ou définit une valeur indiquant si les entrées de la palette sont triées.
LoopsCount { get; set; }Obtient ou définit le nombre de boucles (par défaut 1 boucle)
MaxDiff { get; set; }Obtient ou définit la différence de pixels maximale autorisée. Si elle est supérieure à zéro, une compression avec perte sera utilisée. La valeur recommandée pour une compression optimale avec perte est de 80. 30 est une compression très légère, 200 est lourde. Cela fonctionne mieux lorsque seule une faible perte est introduite, et en raison de la limitation de l’algorithme de compression des niveaux de perte très élevés ne donneront pas autant de gain. La plage de valeurs autorisées est [0, 1000].
MultiPageOptions { get; set; }Les options multipages
virtual Palette { get; set; }Obtient ou définit la palette de couleurs.
PixelAspectRatio { get; set; }Obtient ou définit le format des pixels GIF.
ProgressEventHandler { get; set; }Obtient ou définit le gestionnaire d’événements de progression.
virtual ResolutionSettings { get; set; }Obtient ou définit les paramètres de résolution.
Source { get; set; }Obtient ou définit la source dans laquelle créer l’image.
VectorRasterizationOptions { get; set; }Obtient ou définit les options de pixellisation vectorielle.
override XmpData { get; set; }Obtient ou définit le conteneur de métadonnées XMP.

Méthodes

NomLa description
virtual Clone()Clone cette instance.
Dispose()Supprime l’instance actuelle.

Exemples

Cet exemple illustre l’utilisation de différentes classes de l’espace de noms SaveOptions à des fins d’exportation. Une image de type Gif est chargée dans une instance de Image puis exportée vers plusieurs formats.

[C#]

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

//Charge une image existante (de type Gif) dans une instance de la classe Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // Exporter au format de fichier BMP en utilisant les options par défaut
    image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());

    // Exporter au format de fichier JPEG en utilisant les options par défaut
    image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());

    // Exporter au format de fichier PNG en utilisant les options par défaut
    image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());

    // Exporter au format de fichier TIFF en utilisant les options par défaut
    image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

L’exemple suivant montre comment convertir une image vectorielle multipage au format GIF de manière générale sans faire référence à un type d’image particulier.

[C#]

string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.gif");

Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.GifOptions();

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
{
    exportOptions.MultiPageOptions = null;

    // Exporte uniquement les deux premières pages. Ces pages seront présentées sous forme de cadres animés dans le GIF de sortie.
    Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
    if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
    {
        exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));
    }

    if (image is Aspose.Imaging.VectorImage)
    {
        exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
        exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;
    }

    image.Save(outputFilePath, exportOptions);
}

Cet exemple montre comment charger les informations de pixel dans un tableau de type couleur, manipuler le tableau et le redéfinir sur l’image. Pour effectuer ces opérations, cet exemple crée un nouveau fichier Image (au format GIF) utilisant l’objet MemoryStream.

[C#]

//Créer une instance de MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    //Créer une instance de GifOptions et définir ses différentes propriétés, y compris la propriété Source
    Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
    gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //Créer une instance de Image
    using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
    {
        // Récupère les pixels de l'image en spécifiant la zone comme limite de l'image
        Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);

        // Boucle sur le tableau et définit la couleur du pixel indexé alternatif
        for (int index = 0; index < pixels.Length; index++)
        {
            if (index % 2 == 0)
            {
                // Définit la couleur du pixel indexé sur jaune
                pixels[index] = Aspose.Imaging.Color.Yellow;
            }
            else
            {
                // Définit la couleur du pixel indexé sur bleu
                pixels[index] = Aspose.Imaging.Color.Blue;
            }
        }

        //Appliquer les changements de pixel à l'image
        image.SavePixels(image.Bounds, pixels);

        // Enregistrer toutes les modifications.
        image.Save();
    }

    // Écrire MemoryStream dans le fichier
    using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
    {
        stream.WriteTo(fileStream);
    }   
}

Voir également