ColorResolution

GifOptions.ColorResolution property

Hämtar eller ställer in GIF-färgupplösningen.

public byte ColorResolution { get; set; }

Fastighetsvärde

Färgupplösningen.

Anmärkningar

Färgupplösning - Antal bitar per primärfärg tillgänglig till originalbilden, minus 1. Detta värde representerar storleken på hela paletten från vilken färgerna i grafiken valdes , inte antalet färger som faktiskt används i grafiken. Till exempel, om värdet i det här fältet är 3, så hade paletten av originalbilden 4 bitar per primärfärg tillgänglig för att skapa bilden. Detta värde bör ställas in för att indikera rikedomen av den ursprungliga paletten, även om inte alla färger från paletten whole är tillgängliga på källmaskinen.

Exempel

Det här exemplet visar hur man sparar en BMP-bild i GIF-format med hjälp av olika alternativ.

[C#]

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

using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
    // Fyll hela bilden med den blå-gula gradienten.
    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();

    // Antalet bitar som krävs för att lagra en färg, minus 1.
    saveOptions.ColorResolution = 7;

    // Palettkorrigering innebär att när bilden exporteras till GIF kommer källbildens färger att analyseras
    // för att bygga den bäst matchande paletten (om bildpaletten inte finns eller inte anges i alternativen)
    saveOptions.DoPaletteCorrection = true;

    // Ladda en GIF-bild på ett progressivt sätt.
    // En sammanflätad GIF visar inte sina skanningslinjer linjärt uppifrån och ned, utan ordnar om den istället
    // så att innehållet i GIF:en blir tydligt redan innan den har laddats klart.
    saveOptions.Interlaced = true;

    // Spara som en förlustfri GIF.
    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);
    }

    // Ställ in den maximala tillåtna pixelskillnaden. Om den är större än noll kommer förlustbringande komprimering att användas.
    // Det rekommenderade värdet för optimal förlustkompression är 80. 30 är mycket lätt kompression, 200 är tung.
    saveOptions.MaxDiff = 80;

    // Spara som en förlorad GIF.
    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);
    }
}

//Utgången kan se ut så här:
//Storleken på den förlustfria GIF:en: 212816 byte.
//Storleken på den förlorade GIF:en: 89726 byte.

Se även