MaxDiff
GifOptions.MaxDiff property
Ottiene o imposta la differenza di pixel massima consentita. Se maggiore di zero, verrà utilizzata la compressione con perdita. Il valore consigliato per una compressione con perdita ottimale è 80. 30 è una compressione molto leggera, 200 è pesante. Funziona meglio quando viene introdotta solo una piccola perdita e a causa della limitazione dell’algoritmo di compressione livelli di perdita molto elevati non daranno molto guadagno. L’intervallo di valori consentiti è [0, 1000].
public int MaxDiff { get; set; }
Esempi
Questo esempio mostra come salvare un’immagine BMP in formato GIF utilizzando varie opzioni.
[C#]
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(1000, 1000))
{
// Riempi l'intera immagine con il gradiente blu-giallo.
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();
// Il numero di bit necessari per memorizzare un colore, meno 1.
saveOptions.ColorResolution = 7;
// La correzione della tavolozza significa che ogni volta che l'immagine viene esportata in GIF, i colori dell'immagine sorgente verranno analizzati
// per creare la tavolozza più adatta (nel caso in cui la tavolozza dell'immagine non esista o non sia specificata nelle opzioni)
saveOptions.DoPaletteCorrection = true;
// Carica un'immagine GIF in modo progressivo.
// Una GIF interlacciata non mostra le sue linee di scansione linearmente dall'alto verso il basso, ma invece la riordina
// così il contenuto della GIF diventa chiaro anche prima che termini il caricamento.
saveOptions.Interlaced = true;
// Salva come GIF senza perdita di dati.
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);
}
// Imposta la massima differenza di pixel consentita. Se maggiore di zero, verrà utilizzata la compressione con perdita.
// Il valore consigliato per una compressione con perdita ottimale è 80. 30 è una compressione molto leggera, 200 è pesante.
saveOptions.MaxDiff = 80;
// Salva come GIF con perdita.
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);
}
}
//L'output potrebbe essere simile a questo:
//La dimensione della GIF senza perdita di dati: 212816 byte.
//La dimensione della GIF con perdita: 89726 byte.
Guarda anche
- class GifOptions
- spazio dei nomi Aspose.Imaging.ImageOptions
- assemblea Aspose.Imaging