Class ColorPaletteHelper

Class ColorPaletteHelper

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

Hilfsklasse zur Manipulation von Farbpalletten.

public static class ColorPaletteHelper

Vererbung

objectColorPaletteHelper

Vererbte Mitglieder

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

Methoden

Create4Bit()

Erstellt die 4-Bit-Farbpalette.

public static IColorPalette Create4Bit()

Gibt zurück

IColorPalette

Die 4-Bit-Farbpalette.

Create4BitGrayscale(bool)

Erstellt die 4-Bit-Graustufenpalette.

public static IColorPalette Create4BitGrayscale(bool minIsWhite)

Parameter

minIsWhite bool

Wenn auf ```cstrue gesetzt, beginnt die Palette mit der weißen Farbe, andernfalls beginnt sie mit der schwarzen Farbe.

Gibt zurück

IColorPalette

Die 4-Bit-Graustufenpalette.

Create8Bit()

Erstellt die 8-Bit-Farbpalette.

public static IColorPalette Create8Bit()

Gibt zurück

IColorPalette

Die 8-Bit-Farbpalette.

Create8BitGrayscale(bool)

Erstellt die 8-Bit-Graustufenpalette.

public static IColorPalette Create8BitGrayscale(bool minIsWhite)

Parameter

minIsWhite bool

Wenn auf ```cstrue gesetzt, beginnt die Palette mit der weißen Farbe, andernfalls beginnt sie mit der schwarzen Farbe.

Gibt zurück

IColorPalette

Die 8-Bit-Graustufenpalette.

Beispiele

Das folgende Beispiel erstellt ein palettisiertes Graustufen-BMP-Bild und speichert es dann in eine Datei.```csharp [C#]

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

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

                                                                                                  // In eine Datei speichern
                                                                                                  createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);

                                                                                                  // Verwenden Sie 8 Bit pro Pixel, um die Größe des Ausgabebilds zu reduzieren.
                                                                                                  createOptions.BitsPerPixel = 8;

                                                                                                  // Setzen Sie die standardmäßige 8-Bit-Graustufenfarbpalette, die alle Graustufenfarben abdeckt.
                                                                                                  // Wenn das verarbeitete Bild nur Graustufenfarben enthält, dann ist seine palettisierte Version
                                                                                                  // visuell nicht von einer nicht-palletisierten zu unterscheiden.
                                                                                                  createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);

                                                                                                  // Ohne Kompression speichern.
                                                                                                  // Sie können auch RLE-8-Kompression verwenden, um die Größe des Ausgabebilds zu reduzieren.
                                                                                                  createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                  // Setzen Sie die horizontale und vertikale Auflösung auf 96 dpi.
                                                                                                  createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

                                                                                                  // Erstellen Sie ein BMP-Bild von 100 x 100 px und speichern Sie es in eine Datei.
                                                                                                  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);

                                                                                                      // Füllen Sie das Bild mit einem Graustufenverlauf
                                                                                                      graphics.FillRectangle(gradientBrush, image.Bounds);

                                                                                                      image.Save();
                                                                                                  }

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

Erhält die Graustufenpalette mit der angegebenen Bitanzahl. Zulässige Bitwerte sind 1, 2, 4, 8.

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

Parameter

bits int

Die Bitanzahl.

Gibt zurück

IColorPalette

Graustufenpalette.

Ausnahmen

ArgumentOutOfRangeException

bits

CreateMonochrome()

Erstellt eine monochrome Farbpalette, die nur 2 Farben enthält.

public static IColorPalette CreateMonochrome()

Gibt zurück

IColorPalette

Farbpalette für monochrome Bilder.

GetCloseImagePalette(RasterImage, int)

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)

Parameter

image RasterImage

Das Rasterbild.

entriesCount int

Die gewünschte Anzahl von Einträgen.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

Beispiele

Das folgende Beispiel lädt ein BMP-Bild und speichert es mit verschiedenen Speicheroptionen zurück.```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;

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

                                                                                                       // Verwenden Sie 8 Bit pro Pixel, um die Größe des Ausgabebilds zu reduzieren.
                                                                                                       saveOptions.BitsPerPixel = 8;

                                                                                                       // Setzen Sie die nächstgelegene 8-Bit-Farbpalette, die die maximale Anzahl von Bildpixeln abdeckt, sodass ein palettisiertes Bild
                                                                                                       // visuell nicht von einem nicht-palletisierten zu unterscheiden ist.
                                                                                                       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);

                                                                                                       // Ohne Kompression speichern.
                                                                                                       // Sie können auch RLE-8-Kompression verwenden, um die Größe des Ausgabebilds zu reduzieren.
                                                                                                       saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                       // Setzen Sie die horizontale und vertikale Auflösung auf 96 dpi.
                                                                                                       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

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

Das folgende Beispiel zeigt, wie man ein BMP-Bild palettisiert, um die Ausgabedateigröße zu reduzieren.```csharp
[C#]

                                                                                              // Erstellen Sie ein BMP-Bild 100 x 100 px.
                                                                                              using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
                                                                                              {
                                                                                                  // Der lineare Verlauf von der linken oberen Ecke zur rechten unteren Ecke des Bildes.
                                                                                                  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);

                                                                                                  // Füllen Sie das gesamte Bild mit dem linearen Verlaufspinsel.
                                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
                                                                                                  gr.FillRectangle(brush, bmpImage.Bounds);

                                                                                                  // Erhalten Sie die nächstgelegene 8-Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, sodass ein palettisiertes Bild
                                                                                                  // visuell nicht von einem nicht-palletisierten zu unterscheiden ist.
                                                                                                  Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

                                                                                                  // Die 8-Bit-Palette enthält maximal 256 Farben.
                                                                                                  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("Die Größe des palettisierten Bildes beträgt {0} Bytes.", stream.Length);
                                                                                                  }

                                                                                                  using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                                                                                                  {
                                                                                                      bmpImage.Save(stream);
                                                                                                      System.Console.WriteLine("Die Größe des nicht-palletisierten Bildes beträgt {0} Bytes.", stream.Length);
                                                                                                  }
                                                                                              }

                                                                                              // Die Ausgabe sieht so aus:
                                                                                              // Die Größe des palettisierten Bildes beträgt 11078 Bytes.
                                                                                              // Die Größe des nicht-palletisierten Bildes beträgt 40054 Bytes.

GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Die Palette wird optimiert, um die Bildqualität der indizierten Bilder zu verbessern oder “AS IS” übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.

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

Parameter

image RasterImage

Das Rasterbild.

entriesCount int

Die gewünschte Anzahl von Einträgen.

paletteMiningMethod PaletteMiningMethod

Die Methode zur Palettengewinnung.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

Beispiele

Das folgende Beispiel zeigt, wie man ein PNG-Bild komprimiert, indem man indizierte Farben mit der besten passenden Palette verwendet.```csharp [C#]

                                                                                                         // Lädt png Bild        
                                                                                                             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,
                                                                                                                      // Verwenden Sie den indizierten Farbtyp
                                                                                                                  ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
                                                                                                                      // Maximale Kompression verwenden
                                                                                                                  CompressionLevel = 9,
                                                                                                               // Erhalten Sie die nächstgelegene 8-Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, sodass ein palettisiertes Bild
                                                                                                                  // visuell nicht von einem nicht-palletisierten zu unterscheiden ist.
                                                                                                                  Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
                                                                                                             });
                                                                                                         }
                                                                                                             // Die Ausgabedateigröße sollte erheblich reduziert werden

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

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

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

Parameter

image RasterImage

Das Rasterbild.

destBounds Rectangle

Die Zielbildgrenzen.

entriesCount int

Die gewünschte Anzahl von Einträgen.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

GetCloseImagePalette(RasterImage, Rectangle, int, bool)

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

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

Parameter

image RasterImage

Das Rasterbild.

destBounds Rectangle

Die Zielbildgrenzen.

entriesCount int

Die gewünschte Anzahl von Einträgen.

useImagePalette bool

Wenn gesetzt, wird die eigene Bildpalette verwendet, sofern verfügbar.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

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

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

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

Parameter

image RasterImage

Das Rasterbild.

destBounds Rectangle

Die Zielbildgrenzen.

entriesCount int

Die gewünschte Anzahl von Einträgen.

useImagePalette bool

Wenn gesetzt, wird die eigene Bildpalette verwendet, sofern verfügbar.

alphaBlendInColor Color

Die Farbe, die als Hintergrundfarbe für die semi-transparente Alpha-Ersetzung verwendet werden soll.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

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

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

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

Parameter

image RasterImage

Das Rasterbild.

destBounds Rectangle

Die Zielbildgrenzen.

entriesCount int

Die gewünschte Anzahl von Einträgen.

useImagePalette bool

Wenn gesetzt, wird die eigene Bildpalette verwendet, sofern verfügbar.

alphaBlendInColor Color

Die Farbe, die als Hintergrundfarbe für die semi-transparente Alpha-Ersetzung verwendet werden soll.

keepTransparency bool

Wenn gesetzt, werden die Alpha-Kanalbits der Bildfarben berücksichtigt.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

GetCloseTransparentImagePalette(RasterImage, int)

Erhält die Farbpalette aus einem Rasterbild (palettisiert das Bild), falls das Bild keine hat. Falls eine Palette vorhanden ist, wird diese verwendet, anstatt Berechnungen durchzuführen.

public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)

Parameter

image RasterImage

Das Rasterbild.

entriesCount int

Die gewünschte Anzahl von Einträgen.

Gibt zurück

IColorPalette

Die Farbpalette, die mit den häufigsten Farben aus dem image beginnt und entriesCount Einträge enthält.

GetDownscalePalette(RasterImage)

Erhält eine 256-Farben-Palette, die aus den oberen Bits der ursprünglichen Farbwerte des Bildes besteht.

public static ColorPalette GetDownscalePalette(RasterImage image)

Parameter

image RasterImage

Das Bild.

Gibt zurück

ColorPalette

Die Aspose.Imaging.ColorPalette.

GetUniformColorPalette(RasterImage)

Erhält eine einheitliche 256-Farben-Palette.

public static ColorPalette GetUniformColorPalette(RasterImage image)

Parameter

image RasterImage

Das Bild.

Gibt zurück

ColorPalette

Die Aspose.Imaging.ColorPalette.

HasTransparentColors(IColorPalette)

Bestimmt, ob die angegebene Palette transparente Farben hat.

public static bool HasTransparentColors(IColorPalette palette)

Parameter

palette IColorPalette

Die Palette.

Gibt zurück

bool

cstrue</code>, wenn die angegebene Palette transparente Farben hat; andernfalls csfalse.

Ausnahmen

ArgumentNullException

palette ist null.

 Deutsch