Class ColorPaletteHelper

Class ColorPaletteHelper

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

Pomocná třída pro manipulaci s barevnými paletami.

public static class ColorPaletteHelper

Dědění

objectColorPaletteHelper

Děděné členy

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

Metody

Create4Bit()

Vytvoří 4bitovou barevnou paletu.

public static IColorPalette Create4Bit()

Vrací

IColorPalette

4bitovou barevnou paletu.

Create4BitGrayscale(bool)

Vytvoří 4bitovou odstínovou paletu.

public static IColorPalette Create4BitGrayscale(bool minIsWhite)

Parametry

minIsWhite bool

Pokud je nastaveno na ```cstrue, paleta začíná bílou barvou, jinak začíná černou barvou.

Vrací

IColorPalette

4bitovou odstínovou paletu.

Create8Bit()

Vytvoří 8bitovou barevnou paletu.

public static IColorPalette Create8Bit()

Vrací

IColorPalette

8bitovou barevnou paletu.

Create8BitGrayscale(bool)

Vytvoří 8bitovou odstínovou paletu.

public static IColorPalette Create8BitGrayscale(bool minIsWhite)

Parametry

minIsWhite bool

Pokud je nastaveno na ```cstrue, paleta začíná bílou barvou, jinak začíná černou barvou.

Vrací

IColorPalette

8bitovou odstínovou paletu.

Příklady

Následující příklad vytváří paletizovaný odstínový BMP obrázek a poté ho ukládá do souboru.```csharp [C#]

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

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

                                                                                                  // Uložit do souboru
                                                                                                  createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);

                                                                                                  // Použít 8 bitů na pixel pro zmenšení velikosti výstupního obrázku.
                                                                                                  createOptions.BitsPerPixel = 8;

                                                                                                  // Nastavit standardní 8bitovou odstínovou barevnou paletu, která pokrývá všechny odstínové barvy.
                                                                                                  // Pokud zpracovaný obrázek obsahuje pouze odstínové barvy, pak jeho paletizovaná verze
                                                                                                  // je vizuálně nerozeznatelná od nepalletizované.
                                                                                                  createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);

                                                                                                  // Uložit bez komprese.
                                                                                                  // Můžete také použít RLE-8 kompresi pro zmenšení velikosti výstupního obrázku.
                                                                                                  createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                  // Nastavit horizontální a vertikální rozlišení na 96 dpi.
                                                                                                  createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

                                                                                                  // Vytvořit BMP obrázek o rozměrech 100 x 100 px a uložit ho do souboru.
                                                                                                  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);

                                                                                                      // Vyplnit obrázek odstínovým gradientem
                                                                                                      graphics.FillRectangle(gradientBrush, image.Bounds);

                                                                                                      image.Save();
                                                                                                  }

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

Získá odstínovou paletu s určeným počtem bitů. Povolené hodnoty bitů jsou 1, 2, 4, 8.

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

Parametry

bits int

Počet bitů.

Vrací

IColorPalette

Odstínová paleta.

Výjimky

ArgumentOutOfRangeException

bits

CreateMonochrome()

Vytvoří monochromatickou barevnou paletu obsahující pouze 2 barvy.

public static IColorPalette CreateMonochrome()

Vrací

IColorPalette

Barevná paleta pro monochromatické obrázky.

GetCloseImagePalette(RasterImage, int)

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)

Parametry

image RasterImage

Rastrový obrázek.

entriesCount int

Požadovaný počet položek.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

Příklady

Následující příklad načte BMP obrázek a uloží ho zpět do BMP pomocí různých možností uložení.```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;

                                                                                                       // Vytvořit BmpOptions
                                                                                                       Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();

                                                                                                       // Použít 8 bitů na pixel pro zmenšení velikosti výstupního obrázku.
                                                                                                       saveOptions.BitsPerPixel = 8;

                                                                                                       // Nastavit nejbližší 8bitovou barevnou paletu, která pokrývá maximální počet pixelů obrázku, takže paletizovaný obrázek
                                                                                                       // je téměř vizuálně nerozeznatelný od nepalletizovaného.
                                                                                                       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);

                                                                                                       // Uložit bez komprese.
                                                                                                       // Můžete také použít RLE-8 kompresi pro zmenšení velikosti výstupního obrázku.
                                                                                                       saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                       // Nastavit horizontální a vertikální rozlišení na 96 dpi.
                                                                                                       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

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

Následující příklad ukazuje, jak paletizovat BMP obrázek pro zmenšení jeho výstupní velikosti.```csharp
[C#]

                                                                                              // Vytvořit BMP obrázek 100 x 100 px.
                                                                                              using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
                                                                                              {
                                                                                                  // Lineární gradient z levého horního do pravého dolního rohu obrázku.
                                                                                                  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);

                                                                                                  // Vyplnit celý obrázek lineárním gradientovým štětcem.
                                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
                                                                                                  gr.FillRectangle(brush, bmpImage.Bounds);

                                                                                                  // Získat nejbližší 8bitovou barevnou paletu, která pokrývá co nejvíce pixelů, takže paletizovaný obrázek
                                                                                                  // je téměř vizuálně nerozeznatelný od nepalletizovaného.
                                                                                                  Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

                                                                                                  // 8bitová paleta obsahuje maximálně 256 barev.
                                                                                                  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("Velikost paletizovaného obrázku je {0} bajtů.", stream.Length);
                                                                                                  }

                                                                                                  using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                                                                                                  {
                                                                                                      bmpImage.Save(stream);
                                                                                                      System.Console.WriteLine("Velikost nepalletizovaného obrázku je {0} bajtů.", stream.Length);
                                                                                                  }
                                                                                              }

                                                                                              // Výstup vypadá takto:
                                                                                              // Velikost paletizovaného obrázku je 11078 bajtů.
                                                                                              // Velikost nepalletizovaného obrázku je 40054 bajtů.

GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. Paleta bude optimalizována pro lepší kvalitu indexovaného obrázku nebo použita “TAK, JAK JE”, když je použita metoda PaletteMiningMethod.UseCurrentPalette.

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

Parametry

image RasterImage

Rastrový obrázek.

entriesCount int

Požadovaný počet položek.

paletteMiningMethod PaletteMiningMethod

Metoda těžby palet.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

Příklady

Následující příklad ukazuje, jak komprimovat PNG obrázek, pomocí indexované barvy s nejlepší paletou.```csharp [C#]

                                                                                                         // Načte png obrázek        
                                                                                                             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,
                                                                                                                      // Použít indexovaný typ barvy
                                                                                                                  ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
                                                                                                                      // Použít maximální kompresi
                                                                                                                  CompressionLevel = 9,
                                                                                                               // Získat nejbližší 8bitovou barevnou paletu, která pokrývá co nejvíce pixelů, takže paletizovaný obrázek
                                                                                                                  // je téměř vizuálně nerozeznatelný od nepalletizovaného.
                                                                                                                  Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
                                                                                                             });
                                                                                                         }
                                                                                                             // Velikost výstupního souboru by měla být výrazně snížena

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

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

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

Parametry

image RasterImage

Rastrový obrázek.

destBounds Rectangle

Rozměry cílového obrázku.

entriesCount int

Požadovaný počet položek.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

GetCloseImagePalette(RasterImage, Rectangle, int, bool)

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

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

Parametry

image RasterImage

Rastrový obrázek.

destBounds Rectangle

Rozměry cílového obrázku.

entriesCount int

Požadovaný počet položek.

useImagePalette bool

Pokud je nastaveno, použije vlastní paletu obrázku, pokud je k dispozici.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

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

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

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

Parametry

image RasterImage

Rastrový obrázek.

destBounds Rectangle

Rozměry cílového obrázku.

entriesCount int

Požadovaný počet položek.

useImagePalette bool

Pokud je nastaveno, použije vlastní paletu obrázku, pokud je k dispozici.

alphaBlendInColor Color

Barva, která by měla být použita jako pozadí pro poloprůhlednou náhradu alfa.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

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

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

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

Parametry

image RasterImage

Rastrový obrázek.

destBounds Rectangle

Rozměry cílového obrázku.

entriesCount int

Požadovaný počet položek.

useImagePalette bool

Pokud je nastaveno, použije vlastní paletu obrázku, pokud je k dispozici.

alphaBlendInColor Color

Barva, která by měla být použita jako pozadí pro poloprůhlednou náhradu alfa.

keepTransparency bool

Pokud je nastaveno, zohlední alfa kanál barev obrázku.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

GetCloseTransparentImagePalette(RasterImage, int)

Získá barevnou paletu z rastrového obrázku (paletizuje obrázek), pokud obrázek žádnou nemá. V případě, že paleta existuje, bude použita místo provádění výpočtů.

public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)

Parametry

image RasterImage

Rastrový obrázek.

entriesCount int

Požadovaný počet položek.

Vrací

IColorPalette

Barevná paleta, která začíná nejčastějšími barvami z image a obsahuje entriesCount položek.

GetDownscalePalette(RasterImage)

Získá 256barevnou paletu, složenou z horních bitů počátečních hodnot barev obrázku.

public static ColorPalette GetDownscalePalette(RasterImage image)

Parametry

image RasterImage

Obrázek.

Vrací

ColorPalette

Aspose.Imaging.ColorPalette.

GetUniformColorPalette(RasterImage)

Získá uniformní 256barevnou paletu.

public static ColorPalette GetUniformColorPalette(RasterImage image)

Parametry

image RasterImage

Obrázek.

Vrací

ColorPalette

Aspose.Imaging.ColorPalette.

HasTransparentColors(IColorPalette)

Určuje, zda má zadaná paleta průhledné barvy.

public static bool HasTransparentColors(IColorPalette palette)

Parametry

palette IColorPalette

Paleta.

Vrací

bool

cstrue</code>, pokud má zadaná paleta průhledné barvy; jinak csfalse.

Výjimky

ArgumentNullException

palette je null.

 Čeština