ColorResolution

GifOptions.ColorResolution property

Ruft die GIF-Farbauflösung ab oder legt sie fest.

public byte ColorResolution { get; set; }

Eigentumswert

Die Farbauflösung.

Bemerkungen

Farbauflösung - Anzahl der verfügbaren Bits pro Primärfarbe zum Originalbild minus 1. Dieser Wert stellt die Größe der gesamten Palette dar, aus der die Farben in der Grafik ausgewählt wurden, nicht die Anzahl der tatsächlich in der Grafik verwendeten Farben. Wenn der Wert in diesem Feld beispielsweise 3 ist, dann hatte die Palette von des Originalbildes 4 Bits pro Primärfarbe, die verfügbar waren, um das Bild zu erstellen. Dieser Wert sollte so eingestellt werden, dass er den Reichtum der Originalpalette angibt, auch wenn nicht jede Farbe aus der gesamten -Palette auf dem Quellcomputer verfügbar ist.

Beispiele

Dieses Beispiel zeigt, wie Sie ein BMP-Bild mit verschiedenen Optionen im GIF-Format speichern.

[C#]

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

using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
    // Füllen Sie das gesamte Bild mit dem blau-gelben Farbverlauf.
    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();

    // Die Anzahl der Bits, die zum Speichern einer Farbe erforderlich sind, minus 1.
    saveOptions.ColorResolution = 7;

    // Palettenkorrektur bedeutet, dass beim Exportieren des Bildes in GIF die Farben des Quellbildes analysiert werden
    // um die am besten passende Palette zu erstellen (falls die Bildpalette nicht existiert oder nicht in den Optionen angegeben ist)
    saveOptions.DoPaletteCorrection = true;

    // Laden Sie ein GIF-Bild auf progressive Weise.
    // Ein Interlaced-GIF zeigt seine Scanlines nicht linear von oben nach unten an, sondern ordnet sie stattdessen neu an
    // so wird der Inhalt des GIF klar, noch bevor es vollständig geladen ist.
    saveOptions.Interlaced = true;

    // Als verlustfreies GIF speichern.
    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);
    }

    // Legen Sie die maximal zulässige Pixeldifferenz fest. Wenn es größer als Null ist, wird eine verlustbehaftete Komprimierung verwendet.
    // Der empfohlene Wert für eine optimale verlustbehaftete Komprimierung ist 80. 30 ist eine sehr leichte Komprimierung, 200 ist eine starke.
    saveOptions.MaxDiff = 80;

    // Als verlustbehaftetes GIF speichern.
    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);
    }
}

//Die Ausgabe könnte so aussehen:
//Die Größe des verlustfreien GIF: 212816 Bytes.
//Die Größe des verlustbehafteten GIF: 89726 Bytes.

Siehe auch