Class ColorPaletteHelper

Class ColorPaletteHelper

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

Classe helper per la manipolazione delle palette di colori.

public static class ColorPaletteHelper

Ereditarietà

objectColorPaletteHelper

Membri ereditati

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Metodi

Create4Bit()

Crea la palette di colori a 4 bit.

public static IColorPalette Create4Bit()

Restituisce

IColorPalette

La palette di colori a 4 bit.

Create4BitGrayscale(bool)

Crea la palette in scala di grigi a 4 bit.

public static IColorPalette Create4BitGrayscale(bool minIsWhite)

Parametri

minIsWhite bool

se impostato su ```cstrue la palette inizia con il colore bianco, altrimenti inizia con il colore nero.

Restituisce

IColorPalette

La palette in scala di grigi a 4 bit.

Create8Bit()

Crea la palette di colori a 8 bit.

public static IColorPalette Create8Bit()

Restituisce

IColorPalette

La palette di colori a 8 bit.

Create8BitGrayscale(bool)

Crea la palette in scala di grigi a 8 bit.

public static IColorPalette Create8BitGrayscale(bool minIsWhite)

Parametri

minIsWhite bool

se impostato su ```cstrue la palette inizia con il colore bianco, altrimenti inizia con il colore nero.

Restituisce

IColorPalette

La palette in scala di grigi a 8 bit.

Esempi

Il seguente esempio crea un’immagine BMP in scala di grigi palettizzata e la salva in un file.```csharp [C#]

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

                                                                                                  Aspose.Imaging.ImageOptions.BmpOptions createOptions = new Aspose.Imaging.ImageOptions.BmpOptions();

                                                                                                  // Salva in un file
                                                                                                  createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);

                                                                                                  // Usa 8 bit per pixel per ridurre la dimensione dell'immagine di output.
                                                                                                  createOptions.BitsPerPixel = 8;

                                                                                                  // Imposta la palette di colori in scala di grigi standard a 8 bit che copre tutti i colori in scala di grigi.
                                                                                                  // Se l'immagine elaborata contiene solo colori in scala di grigi, allora la sua versione palettizzata
                                                                                                  // è visivamente indistinguibile da una non palettizzata.
                                                                                                  createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);

                                                                                                  // Salva senza compressione.
                                                                                                  // Puoi anche usare la compressione RLE-8 per ridurre la dimensione dell'immagine di output.
                                                                                                  createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                  // Imposta la risoluzione orizzontale e verticale a 96 dpi.
                                                                                                  createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

                                                                                                  // Crea un'immagine BMP di 100 x 100 px e salvala in un file.
                                                                                                  using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(createOptions, 100, 100))
                                                                                                  {
                                                                                                      Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

                                                                                                      Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
                                                                                                          new Aspose.Imaging.Point(0, 0),
                                                                                                          new Aspose.Imaging.Point(image.Width, image.Height),
                                                                                                          Aspose.Imaging.Color.Black,
                                                                                                          Aspose.Imaging.Color.White);

                                                                                                      // Riempi l'immagine con un gradiente in scala di grigi
                                                                                                      graphics.FillRectangle(gradientBrush, image.Bounds);

                                                                                                      image.Save();
                                                                                                  }

### <a id="Aspose_Imaging_ColorPaletteHelper_CreateGrayscale_System_Int32_"></a> CreateGrayscale\(int\)

Ottiene la palette in scala di grigi di un determinato numero di bit. I valori di bit consentiti sono 1, 2, 4, 8.

```csharp
public static IColorPalette CreateGrayscale(int bits)

Parametri

bits int

Il numero di bit.

Restituisce

IColorPalette

Palette in scala di grigi.

Eccezioni

ArgumentOutOfRangeException

bits

CreateMonochrome()

Crea una palette di colori monocromatica contenente solo 2 colori.

public static IColorPalette CreateMonochrome()

Restituisce

IColorPalette

Palette di colori per immagini monocromatiche.

GetCloseImagePalette(RasterImage, int)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)

Parametri

image RasterImage

L’immagine raster.

entriesCount int

Il numero desiderato di voci.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

Esempi

Il seguente esempio carica un’immagine BMP e la salva nuovamente in BMP utilizzando varie opzioni di salvataggio.```csharp [C#]

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

                                                                                                   using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
                                                                                                   {
                                                                                                       Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;

                                                                                                       // Crea BmpOptions
                                                                                                       Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();

                                                                                                       // Usa 8 bit per pixel per ridurre la dimensione dell'immagine di output.
                                                                                                       saveOptions.BitsPerPixel = 8;

                                                                                                       // Imposta la palette di colori a 8 bit più vicina che copre il numero massimo di pixel dell'immagine, in modo che un'immagine palettizzata
                                                                                                       // sia quasi visivamente indistinguibile da una non palettizzata.
                                                                                                       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);

                                                                                                       // Salva senza compressione.
                                                                                                       // Puoi anche usare la compressione RLE-8 per ridurre la dimensione dell'immagine di output.
                                                                                                       saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                       // Imposta la risoluzione orizzontale e verticale a 96 dpi.
                                                                                                       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

                                                                                                       image.Save(dir + "sample.bmpoptions.bmp", saveOptions);
                                                                                                   }

Il seguente esempio mostra come palettizzare un'immagine BMP per ridurre la sua dimensione di output.```csharp
[C#]

                                                                                              // Crea un'immagine BMP 100 x 100 px.
                                                                                              using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
                                                                                              {
                                                                                                  // Il gradiente lineare dall'angolo in alto a sinistra all'angolo in basso a destra dell'immagine.
                                                                                                  Aspose.Imaging.Brushes.LinearGradientBrush brush =
                                                                                                      new Aspose.Imaging.Brushes.LinearGradientBrush(
                                                                                                          new Aspose.Imaging.Point(0, 0),
                                                                                                          new Aspose.Imaging.Point(bmpImage.Width, bmpImage.Height),
                                                                                                          Aspose.Imaging.Color.Red,
                                                                                                          Aspose.Imaging.Color.Green);

                                                                                                  // Riempi l'intera immagine con il pennello a gradiente lineare.
                                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
                                                                                                  gr.FillRectangle(brush, bmpImage.Bounds);

                                                                                                  // Ottieni la palette di colori a 8 bit più vicina che copre il maggior numero possibile di pixel, in modo che un'immagine palettizzata
                                                                                                  // sia quasi visivamente indistinguibile da una non palettizzata.
                                                                                                  Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

                                                                                                  // La palette a 8 bit contiene al massimo 256 colori.
                                                                                                  Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
                                                                                                  saveOptions.Palette = palette;
                                                                                                  saveOptions.BitsPerPixel = 8;

                                                                                                  using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                                                                                                  {
                                                                                                      bmpImage.Save(stream, saveOptions);
                                                                                                      System.Console.WriteLine("La dimensione dell'immagine palettizzata è {0} bytes.", stream.Length);
                                                                                                  }

                                                                                                  using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                                                                                                  {
                                                                                                      bmpImage.Save(stream);
                                                                                                      System.Console.WriteLine("La dimensione dell'immagine non palettizzata è {0} bytes.", stream.Length);
                                                                                                  }
                                                                                              }

                                                                                              // L'output appare così:
                                                                                              // La dimensione dell'immagine palettizzata è 11078 bytes.
                                                                                              // La dimensione dell'immagine non palettizzata è 40054 bytes.

GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. La palette è ottimizzata per una migliore qualità dell’immagine indicizzata o presa “COSÌ COM’È” quando viene utilizzato PaletteMiningMethod.UseCurrentPalette.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount, PaletteMiningMethod paletteMiningMethod)

Parametri

image RasterImage

L’immagine raster.

entriesCount int

Il numero desiderato di voci.

paletteMiningMethod PaletteMiningMethod

Il metodo di estrazione della palette.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

Esempi

Il seguente esempio mostra come comprimere un’immagine PNG, utilizzando colori indicizzati con la palette di adattamento migliore```csharp [C#]

                                                                                                         // Carica immagine png        
                                                                                                             string  sourceFilePath="OriginalRings.png";
                                                                                                             string  outputFilePath="OriginalRingsOutput.png";
                                                                                                             using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourceFilePath))
                                                                                                         {
                                                                                                             image.Save(outputFilePath, new Aspose.Imaging.ImageOptions.PngOptions()
                                                                                                             {
                                                                                                                  Progressive = true,
                                                                                                                      // Usa il tipo di colore indicizzato
                                                                                                                  ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
                                                                                                                      // Usa la compressione massima
                                                                                                                  CompressionLevel = 9,
                                                                                                               // Ottieni la palette di colori a 8 bit più vicina che copre il maggior numero possibile di pixel, in modo che un'immagine palettizzata
                                                                                                                  // sia quasi visivamente indistinguibile da una non palettizzata.
                                                                                                                  Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
                                                                                                             });
                                                                                                         }
                                                                                                             // La dimensione del file di output dovrebbe essere significativamente ridotta

### <a id="Aspose_Imaging_ColorPaletteHelper_GetCloseImagePalette_Aspose_Imaging_RasterImage_Aspose_Imaging_Rectangle_System_Int32_"></a> GetCloseImagePalette\(RasterImage, Rectangle, int\)

Ottiene la palette di colori da un'immagine raster (palettizza l'immagine) nel caso in cui l'immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

```csharp
public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount)

Parametri

image RasterImage

L’immagine raster.

destBounds Rectangle

I limiti dell’immagine di destinazione.

entriesCount int

Il numero desiderato di voci.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

GetCloseImagePalette(RasterImage, Rectangle, int, bool)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette)

Parametri

image RasterImage

L’immagine raster.

destBounds Rectangle

I limiti dell’immagine di destinazione.

entriesCount int

Il numero desiderato di voci.

useImagePalette bool

Se impostato, utilizzerà la propria palette dell’immagine se disponibile.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor)

Parametri

image RasterImage

L’immagine raster.

destBounds Rectangle

I limiti dell’immagine di destinazione.

entriesCount int

Il numero desiderato di voci.

useImagePalette bool

Se impostato, utilizzerà la propria palette dell’immagine se disponibile.

alphaBlendInColor Color

Il colore che dovrebbe essere utilizzato come colore di sfondo per la sostituzione dell’alpha semi-trasparente.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

GetCloseImagePalette(RasterImage, Rectangle, int, bool, Color, bool)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

public static IColorPalette GetCloseImagePalette(RasterImage image, Rectangle destBounds, int entriesCount, bool useImagePalette, Color alphaBlendInColor, bool keepTransparency)

Parametri

image RasterImage

L’immagine raster.

destBounds Rectangle

I limiti dell’immagine di destinazione.

entriesCount int

Il numero desiderato di voci.

useImagePalette bool

Se impostato, utilizzerà la propria palette dell’immagine se disponibile.

alphaBlendInColor Color

Il colore che dovrebbe essere utilizzato come colore di sfondo per la sostituzione dell’alpha semi-trasparente.

keepTransparency bool

Se impostato, considererà i bit del canale alpha dei colori dell’immagine.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

GetCloseTransparentImagePalette(RasterImage, int)

Ottiene la palette di colori da un’immagine raster (palettizza l’immagine) nel caso in cui l’immagine non ne abbia una. Nel caso in cui esista una palette, verrà utilizzata invece di eseguire calcoli.

public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)

Parametri

image RasterImage

L’immagine raster.

entriesCount int

Il numero desiderato di voci.

Restituisce

IColorPalette

La palette di colori che inizia con i colori più frequenti dall’ image e contiene entriesCount voci.

GetDownscalePalette(RasterImage)

Ottiene una palette di 256 colori, composta dai bit superiori dei valori di colore dell’immagine iniziale.

public static ColorPalette GetDownscalePalette(RasterImage image)

Parametri

image RasterImage

L’immagine.

Restituisce

ColorPalette

La Aspose.Imaging.ColorPalette.

GetUniformColorPalette(RasterImage)

Ottiene una palette uniforme di 256 colori.

public static ColorPalette GetUniformColorPalette(RasterImage image)

Parametri

image RasterImage

L’immagine.

Restituisce

ColorPalette

La Aspose.Imaging.ColorPalette.

HasTransparentColors(IColorPalette)

Determina se la palette specificata ha colori trasparenti.

public static bool HasTransparentColors(IColorPalette palette)

Parametri

palette IColorPalette

La palette.

Restituisce

bool

cstrue</code> se la palette specificata ha colori trasparenti; altrimenti, csfalse.

Eccezioni

ArgumentNullException

palette è null.

 Italiano