Class ColorPaletteHelper

Class ColorPaletteHelper

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

Hjälarklass för manipulation av färgpaletter.

public static class ColorPaletteHelper

Arv

objectColorPaletteHelper

Arvade Medlemmar

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

Metoder

Create4Bit()

Skapar den 4-bitars färgpaletten.

public static IColorPalette Create4Bit()

Returer

IColorPalette

Den 4-bitars färgpaletten.

Create4BitGrayscale(bool)

Skapar den 4-bitars gråskalepaletten.

public static IColorPalette Create4BitGrayscale(bool minIsWhite)

Parametrar

minIsWhite bool

om den är inställd på ```cstrue börjar paletten med vit färg, annars börjar den med svart färg.

Returer

IColorPalette

Den 4-bitars gråskalepaletten.

Create8Bit()

Skapar den 8-bitars färgpaletten.

public static IColorPalette Create8Bit()

Returer

IColorPalette

Den 8-bitars färgpaletten.

Create8BitGrayscale(bool)

Skapar den 8-bitars gråskalepaletten.

public static IColorPalette Create8BitGrayscale(bool minIsWhite)

Parametrar

minIsWhite bool

om den är inställd på ```cstrue börjar paletten med vit färg, annars börjar den med svart färg.

Returer

IColorPalette

Den 8-bitars gråskalepaletten.

Exempel

Följande exempel skapar en palettiserad gråskala BMP-bild och sparar den sedan till en fil.```csharp [C#]

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

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

                                                                                                  // Spara till en fil
                                                                                                  createOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "output.palette8bit.bmp", false);

                                                                                                  // Använd 8 bitar per pixel för att minska storleken på utdata bilden.
                                                                                                  createOptions.BitsPerPixel = 8;

                                                                                                  // Ställ in den standard 8-bitars gråskale färgpaletten som täcker alla gråskale färger.
                                                                                                  // Om den bearbetade bilden endast innehåller gråskale färger, är dess palettiserade version
                                                                                                  // visuellt omöjlig att särskilja från en icke-palettiserad.
                                                                                                  createOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);

                                                                                                  // Spara utan kompression.
                                                                                                  // Du kan också använda RLE-8 kompression för att minska storleken på utdata bilden.
                                                                                                  createOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                  // Ställ in den horisontella och vertikala upplösningen till 96 dpi.
                                                                                                  createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

                                                                                                  // Skapa en BMP-bild av 100 x 100 px och spara den till en fil.
                                                                                                  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);

                                                                                                      // Fyll bilden med en gråskala gradient
                                                                                                      graphics.FillRectangle(gradientBrush, image.Bounds);

                                                                                                      image.Save();
                                                                                                  }

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

Hämtar gråskalepaletten med angiven bitantal. Tillåtna bitvärden är 1, 2, 4, 8.

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

Parametrar

bits int

Bitantalet.

Returer

IColorPalette

Gråskalepalett.

Undantag

ArgumentOutOfRangeException

bits

CreateMonochrome()

Skapar en monokrom färgpalett som endast innehåller 2 färger.

public static IColorPalette CreateMonochrome()

Returer

IColorPalette

Färgpalett för monokroma bilder.

GetCloseImagePalette(RasterImage, int)

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

public static IColorPalette GetCloseImagePalette(RasterImage image, int entriesCount)

Parametrar

image RasterImage

Rasterbilden.

entriesCount int

Det önskade antalet poster.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

Exempel

Följande exempel laddar en BMP-bild och sparar den tillbaka till BMP med olika spara alternativ.```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;

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

                                                                                                       // Använd 8 bitar per pixel för att minska storleken på utdata bilden.
                                                                                                       saveOptions.BitsPerPixel = 8;

                                                                                                       // Ställ in den närmaste 8-bitars färgpaletten som täcker det maximala antalet bildpixlar, så att en palettiserad bild
                                                                                                       // är nästan visuellt omöjlig att särskilja från en icke-palettiserad.
                                                                                                       saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(rasterImage, 256);

                                                                                                       // Spara utan kompression.
                                                                                                       // Du kan också använda RLE-8 kompression för att minska storleken på utdata bilden.
                                                                                                       saveOptions.Compression = Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb;

                                                                                                       // Ställ in den horisontella och vertikala upplösningen till 96 dpi.
                                                                                                       saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);

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

Följande exempel visar hur man palettiserar en BMP-bild för att minska dess utdata storlek.```csharp
[C#]

                                                                                              // Skapa en BMP-bild 100 x 100 px.
                                                                                              using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
                                                                                              {
                                                                                                  // Den linjära gradienten från vänster-övre till höger-nedre hörn av bilden.
                                                                                                  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);

                                                                                                  // Fyll hela bilden med den linjära gradientborsten.
                                                                                                  Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
                                                                                                  gr.FillRectangle(brush, bmpImage.Bounds);

                                                                                                  // Hämta den närmaste 8-bitars färgpaletten som täcker så många pixlar som möjligt, så att en palettiserad bild
                                                                                                  // är nästan visuellt omöjlig att särskilja från en icke-palettiserad.
                                                                                                  Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);

                                                                                                  // 8-bitars palett innehåller högst 256 färger.
                                                                                                  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("Den palettiserade bildens storlek är {0} bytes.", stream.Length);
                                                                                                  }

                                                                                                  using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                                                                                                  {
                                                                                                      bmpImage.Save(stream);
                                                                                                      System.Console.WriteLine("Den icke-palettiserade bildens storlek är {0} bytes.", stream.Length);
                                                                                                  }
                                                                                              }

                                                                                              // Utdata ser ut så här:
                                                                                              // Den palettiserade bildens storlek är 11078 bytes.
                                                                                              // Den icke-palettiserade bildens storlek är 40054 bytes.

GetCloseImagePalette(RasterImage, int, PaletteMiningMethod)

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Paletten är på väg att optimeras för bättre indexerad bildkvalitet eller tas “AS IS” när PaletteMiningMethod.UseCurrentPalette används.

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

Parametrar

image RasterImage

Rasterbilden.

entriesCount int

Det önskade antalet poster.

paletteMiningMethod PaletteMiningMethod

Metoden för palettbrytning.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

Exempel

Följande exempel visar hur man komprimerar en PNG-bild, med indexerad färg med bästa passande palett```csharp [C#]

                                                                                                         // Laddar 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()
                                                                                                             {
                                                                                                                  Progressiv = true,
                                                                                                                      // Använd indexerad färgtyp
                                                                                                                  ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.IndexedColor,
                                                                                                                      // Använd maximal kompression
                                                                                                                  CompressionLevel = 9,
                                                                                                               // Hämta den närmaste 8-bitars färgpaletten som täcker så många pixlar som möjligt, så att en palettiserad bild
                                                                                                                  // är nästan visuellt omöjlig att särskilja från en icke-palettiserad.
                                                                                                                  Palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette((Aspose.Imaging.RasterImage)image, 256, Aspose.Imaging.PaletteMiningMethod.Histogram)
                                                                                                             });
                                                                                                         }
                                                                                                             // Utdatafilens storlek bör minskas avsevärt

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

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

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

Parametrar

image RasterImage

Rasterbilden.

destBounds Rectangle

Mått för destination bilden.

entriesCount int

Det önskade antalet poster.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

GetCloseImagePalette(RasterImage, Rectangle, int, bool)

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

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

Parametrar

image RasterImage

Rasterbilden.

destBounds Rectangle

Mått för destination bilden.

entriesCount int

Det önskade antalet poster.

useImagePalette bool

Om den är inställd, kommer den att använda sin egen bildpalett om den är tillgänglig.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

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

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

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

Parametrar

image RasterImage

Rasterbilden.

destBounds Rectangle

Mått för destination bilden.

entriesCount int

Det önskade antalet poster.

useImagePalette bool

Om den är inställd, kommer den att använda sin egen bildpalett om den är tillgänglig.

alphaBlendInColor Color

Färgen som ska användas som bakgrundsfärg för semi-transparent alpha ersättning.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

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

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

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

Parametrar

image RasterImage

Rasterbilden.

destBounds Rectangle

Mått för destination bilden.

entriesCount int

Det önskade antalet poster.

useImagePalette bool

Om den är inställd, kommer den att använda sin egen bildpalett om den är tillgänglig.

alphaBlendInColor Color

Färgen som ska användas som bakgrundsfärg för semi-transparent alpha ersättning.

keepTransparency bool

Om den är inställd, kommer den att beakta alpha-kanalens bitar av bildfärgerna.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

GetCloseTransparentImagePalette(RasterImage, int)

Hämtar färgpaletten från rasterbild (palettiserar bilden) om bilden inte har en. Om paletten finns kommer den att användas istället för att utföra beräkningar.

public static IColorPalette GetCloseTransparentImagePalette(RasterImage image, int entriesCount)

Parametrar

image RasterImage

Rasterbilden.

entriesCount int

Det önskade antalet poster.

Returer

IColorPalette

Färgpaletten som börjar med de mest frekventa färgerna från image och innehåller entriesCount poster.

GetDownscalePalette(RasterImage)

Hämtar 256-färgspaletten, sammansatt av de övre bitarna av initiala bildfärg värden.

public static ColorPalette GetDownscalePalette(RasterImage image)

Parametrar

image RasterImage

Bilden.

Returer

ColorPalette

Aspose.Imaging.ColorPalette.

GetUniformColorPalette(RasterImage)

Hämtar en enhetlig 256-färgspalett.

public static ColorPalette GetUniformColorPalette(RasterImage image)

Parametrar

image RasterImage

Bilden.

Returer

ColorPalette

Aspose.Imaging.ColorPalette.

HasTransparentColors(IColorPalette)

Bestämmer om den angivna paletten har transparenta färger.

public static bool HasTransparentColors(IColorPalette palette)

Parametrar

palette IColorPalette

Paletten.

Returer

bool

cstrue</code> om den angivna paletten har transparenta färger; annars csfalse.

Undantag

ArgumentNullException

palette är null.

 Svenska