DoPaletteCorrection

GifOptions.DoPaletteCorrection property

Ottiene o imposta un valore che indica se è stata applicata la correzione della tavolozza.

public bool DoPaletteCorrection { get; set; }

Valore della proprietà

VERO se viene applicata la correzione della tavolozza; altrimenti,falso .

Osservazioni

La correzione della tavolozza significa che ogni volta che l’immagine viene esportata in GIF, i colori dell’immagine di origine verranno analizzati per creare la tavolozza più adatta (nel caso in cui la tavolozza dell’immagine non esista o non sia specificata nelle opzioni). Il processo di analisi richiede del tempo, tuttavia il l’immagine di output avrà la migliore tavolozza di colori corrispondente e il risultato sarà visivamente migliore.

Esempi

Questo esempio mostra come salvare un’immagine BMP in formato GIF utilizzando varie opzioni.

[C#]

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

using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
    // Riempi l'intera immagine con il gradiente blu-giallo.
    Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
            new Aspose.Imaging.Point(0, 0),
            new Aspose.Imaging.Point(bmpImage.Width, bmpImage.Height),
            Aspose.Imaging.Color.Blue,
            Aspose.Imaging.Color.Yellow);

    Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(bmpImage);
    graphics.FillRectangle(gradientBrush, bmpImage.Bounds);

    Aspose.Imaging.ImageOptions.GifOptions saveOptions = new Aspose.Imaging.ImageOptions.GifOptions();

    // Il numero di bit necessari per memorizzare un colore, meno 1.
    saveOptions.ColorResolution = 7;

    // La correzione della tavolozza significa che ogni volta che l'immagine viene esportata in GIF, i colori dell'immagine sorgente verranno analizzati
    // per creare la tavolozza più adatta (nel caso in cui la tavolozza dell'immagine non esista o non sia specificata nelle opzioni)
    saveOptions.DoPaletteCorrection = true;

    // Carica un'immagine GIF in modo progressivo.
    // Una GIF interlacciata non mostra le sue linee di scansione linearmente dall'alto verso il basso, ma invece la riordina
    // così il contenuto della GIF diventa chiaro anche prima che termini il caricamento.
    saveOptions.Interlaced = true;

    // Salva come GIF senza perdita di dati.
    using (System.IO.Stream stream = System.IO.File.OpenWrite(dir + "output.gif"))
    {
        bmpImage.Save(stream, saveOptions);
        System.Console.WriteLine("The size of the lossless GIF: {0} bytes.", stream.Length);
    }

    // Imposta la massima differenza di pixel consentita. Se maggiore di zero, verrà utilizzata la compressione con perdita.
    // Il valore consigliato per una compressione con perdita ottimale è 80. 30 è una compressione molto leggera, 200 è pesante.
    saveOptions.MaxDiff = 80;

    // Salva come GIF con perdita.
    using (System.IO.Stream stream = System.IO.File.OpenWrite(dir + "output.lossy.gif"))
    {
        bmpImage.Save(stream, saveOptions);
        System.Console.WriteLine("The size of the lossy GIF: {0} bytes.", stream.Length);
    }
}

//L'output potrebbe essere simile a questo:
//La dimensione della GIF senza perdita di dati: 212816 byte.
//La dimensione della GIF con perdita: 89726 byte.

Guarda anche