DoPaletteCorrection

GifOptions.DoPaletteCorrection property

Palet düzeltmesinin uygulanıp uygulanmadığını gösteren bir değer alır veya ayarlar.

public bool DoPaletteCorrection { get; set; }

Mülk değeri

doğru palet düzeltmesi uygulanırsa; aksi halde,yanlış .

Notlar

Palet düzeltme, görüntü GIF’e her dışa aktarıldığında, en iyi eşleşen paleti oluşturmak için kaynak görüntü renklerinin analiz edileceği anlamına gelir (görüntü Paletinin olmaması veya seçeneklerde belirtilmemesi durumunda). Analiz işlemi biraz zaman alır, ancak çıktı görüntüsü en iyi eşleşen renk paletine sahip olacak ve sonuç görsel olarak daha iyi olacaktı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