DoPaletteCorrection

GifOptions.DoPaletteCorrection property

Получает или задает значение, указывающее, применяется ли коррекция палитры.

public bool DoPaletteCorrection { get; set; }

Стоимость имущества

истинный применяется ли коррекция палитры; в противном случае,ЛОЖЬ .

Примечания

Коррекция палитры означает, что всякий раз, когда изображение экспортируется в формат GIF, цвета исходного изображения будут анализироваться для создания наиболее подходящей палитры (в случае, если палитра изображения не существует или не указана в параметрах). Процесс анализа занимает некоторое время, однако выходное изображение будет иметь наиболее подходящую цветовую палитру, и результат будет визуально лучше.

Примеры

В этом примере показано, как сохранить изображение BMP в формате GIF, используя различные параметры.

[C#]

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

using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
    // Заливаем все изображение сине-желтым градиентом.
    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();

    // Количество битов, необходимых для хранения цвета, минус 1.
    saveOptions.ColorResolution = 7;

    // Коррекция палитры означает, что всякий раз, когда изображение экспортируется в GIF, цвета исходного изображения будут анализироваться
    // чтобы создать наиболее подходящую палитру (в случае, если палитра изображений не существует или не указана в параметрах)
    saveOptions.DoPaletteCorrection = true;

    // Загружаем GIF-изображение последовательно.
    // В чересстрочном GIF строки развертки отображаются не линейно сверху вниз, а переупорядочиваются.
    // поэтому содержимое GIF становится понятным еще до того, как он завершит загрузку.
    saveOptions.Interlaced = true;

    // Сохранить как 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);
    }

    // Установите максимально допустимую разницу в пикселях. Если больше нуля, будет использоваться сжатие с потерями.
    // Рекомендуемое значение для оптимального сжатия с потерями — 80. 30 — очень легкое сжатие, 200 — тяжелое.
    saveOptions.MaxDiff = 80;

    // Сохранить как 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);
    }
}

//Вывод может выглядеть так:
//Размер GIF без потерь: 212816 байт.
//Размер GIF с потерями: 89726 байт.

Смотрите также