ColorResolution

GifOptions.ColorResolution property

GIF renk çözünürlüğünü alır veya ayarlar.

public byte ColorResolution { get; set; }

Mülk değeri

Renk çözünürlüğü.

Notlar

Renk Çözünürlüğü - Orijinal görüntüde kullanılabilir birincil renk başına bit sayısı , eksi 1. Bu değer, grafikteki renklerin seçildiği tüm paletin boyutunu temsil eder, grafikte gerçekte kullanılan renklerin sayısını değil. Örneğin, bu alandaki değer 3 ise, orijinal görüntünün paletinde, görüntüyü oluşturmak için birincil renk başına 4 bit bulunur. Bu değer, kaynak makinede bütün paletindeki her renk mevcut olmasa bile, orijinal paletin zenginliğini gösterecek şekilde ayarlanmalıdır.

Örnekler

Bu örnek, çeşitli seçenekler kullanılarak bir BMP görüntüsünün GIF formatına nasıl kaydedileceğini gösterir.

[C#]

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

using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
    // Resmin tamamını mavi-sarı gradyanla doldurun.
    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();

    // Bir rengi saklamak için gereken bit sayısı, eksi 1.
    saveOptions.ColorResolution = 7;

    // Palet düzeltme, görüntü GIF'e aktarıldığında kaynak görüntü renklerinin analiz edileceği anlamına gelir
    // en uygun paleti oluşturmak için (resim Paletinin olmaması veya seçeneklerde belirtilmemesi durumunda)
    saveOptions.DoPaletteCorrection = true;

    // Bir GIF görüntüsünü aşamalı olarak yükleyin.
    // Geçmeli GIF, tarama çizgilerini yukarıdan aşağıya doğrusal olarak göstermez, bunun yerine yeniden düzenler
    // böylece GIF'in içeriği daha yükleme bitmeden netleşir.
    saveOptions.Interlaced = true;

    // Kayıpsız bir GIF olarak kaydedin.
    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);
    }

    // İzin verilen maksimum piksel farkını ayarlayın. Sıfırdan büyükse, kayıplı sıkıştırma kullanılacaktır.
    // Optimum kayıplı sıkıştırma için önerilen değer 80'dir. 30 çok hafif sıkıştırma, 200 ağırdır.
    saveOptions.MaxDiff = 80;

    // Kayıplı bir GIF olarak kaydedin.
    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);
    }
}

// Çıktı şöyle görünebilir:
//Kayıpsız GIF'in boyutu: 212816 bayt.
//Kayıplı GIF'in boyutu: 89726 bayt.

Ayrıca bakınız