ColorPaletteHelper‑Klasse

Summary: Helper class for color palettes manipulation.

Module: aspose.imaging

Full Name: aspose.imaging.ColorPaletteHelper

Methods

NameBeschreibung
create_4_bit()Erstellt die 4‑Bit‑Farbpalette.
create_4_bit_grayscale(min_is_white)Erstellt die 4‑Bit‑Graustufenpalette.
create_8_bit()Erstellt die 8‑Bit‑Farbpalette.
create_8_bit_grayscale(min_is_white)Erstellt die 8‑Bit‑Graustufenpalette.
create_grayscale(bits)Liefert die Graustufen-Palette der angegebenen Bit-Anzahl. Erlaubte Bit‑Werte sind 1, 2, 4, 8.
create_monochrome()Erstellt eine monochrome Farbpalette, die nur 2 Farben enthält.
get_close_image_palette(image, dest_bounds, entries_count)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color, keep_transparency)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_image_palette(image, entries_count)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_image_palette(image, entries_count, palette_mining_method)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Die Palette wird für eine bessere indizierte Bildqualität optimiert oder unverändert übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.
get_close_image_palette_by_method(image, entries_count, palette_mining_method)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Die Palette wird für eine bessere indizierte Bildqualität optimiert oder unverändert übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.
get_close_image_palette_by_rect(image, dest_bounds, entries_count)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_close_transparent_image_palette(image, entries_count)Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.
get_downscale_palette(image)Erhalte eine 256‑Farben‑Palette, zusammengesetzt aus den oberen Bits der ursprünglichen Bildfarbwerte.
get_uniform_color_palette(image)Erhalte eine einheitliche 256‑Farben‑Palette.
has_transparent_colors(palette)Bestimmt, ob die angegebene Palette transparente Farben enthält.

Method: create_4_bit() [static]

 create_4_bit() 

Erstellt die 4‑Bit‑Farbpalette.

Returns

TypBeschreibung
IColorPaletteDie 4‑Bit‑Farbpalette.

Method: create_4_bit_grayscale(min_is_white) [static]

 create_4_bit_grayscale(min_is_white) 

Erstellt die 4‑Bit‑Graustufenpalette.

Parameters:

ParameterTypBeschreibung
min_is_whiteboolWenn auf true gesetzt, beginnt die Palette mit Weiß, andernfalls beginnt sie mit Schwarz.

Returns

TypBeschreibung
IColorPaletteDie 4‑Bit‑Graustufen‑Palette.

Method: create_8_bit() [static]

 create_8_bit() 

Erstellt die 8‑Bit‑Farbpalette.

Returns

TypBeschreibung
IColorPaletteDie 8‑Bit‑Farbpalette.

Method: create_8_bit_grayscale(min_is_white) [static]

 create_8_bit_grayscale(min_is_white) 

Erstellt die 8‑Bit‑Graustufenpalette.

Parameters:

ParameterTypBeschreibung
min_is_whiteboolWenn auf true gesetzt, beginnt die Palette mit Weiß, andernfalls beginnt sie mit Schwarz.

Returns

TypBeschreibung
IColorPaletteDie 8‑Bit‑Graustufen‑Palette.

Method: create_grayscale(bits) [static]

 create_grayscale(bits) 

Liefert die Graustufen-Palette der angegebenen Bit-Anzahl. Erlaubte Bit‑Werte sind 1, 2, 4, 8.

Parameters:

ParameterTypBeschreibung
BitsintDie Bit‑Anzahl.

Returns

TypBeschreibung
IColorPaletteGraustufen‑Palette.

Method: create_monochrome() [static]

 create_monochrome() 

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

Returns

TypBeschreibung
IColorPaletteFarbpalette für monochrome Bilder.

Method: get_close_image_palette(image, dest_bounds, entries_count) [static]

 get_close_image_palette(image, dest_bounds, entries_count) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
dest_boundsRectangleDie Begrenzungen des Zielbildes.
entries_countintDie gewünschte Anzahl an Einträgen.

Returns

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

Method: get_close_image_palette(image, dest_bounds, entries_count, use_image_palette) [static]

 get_close_image_palette(image, dest_bounds, entries_count, use_image_palette) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
dest_boundsRectangleDie Begrenzungen des Zielbildes.
entries_countintDie gewünschte Anzahl an Einträgen.
use_image_paletteboolWenn gesetzt, wird die eigene Bildpalette verwendet, falls verfügbar.

Returns

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

Method: get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color) [static]

 get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
dest_boundsRectangleDie Begrenzungen des Zielbildes.
entries_countintDie gewünschte Anzahl an Einträgen.
use_image_paletteboolWenn gesetzt, wird die eigene Bildpalette verwendet, falls verfügbar.
alpha_blend_in_colorColorDie Farbe, die als Hintergrundfarbe für halbtransparente Alpha‑Ersetzung verwendet werden soll.

Returns

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

Method: get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color, keep_transparency) [static]

 get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color, keep_transparency) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
dest_boundsRectangleDie Begrenzungen des Zielbildes.
entries_countintDie gewünschte Anzahl an Einträgen.
use_image_paletteboolWenn gesetzt, wird die eigene Bildpalette verwendet, falls verfügbar.
alpha_blend_in_colorColorDie Farbe, die als Hintergrundfarbe für halbtransparente Alpha‑Ersetzung verwendet werden soll.
keep_transparencyboolWenn gesetzt, berücksichtigt es die Alpha‑Kanal‑Bits der Bildfarben.

Returns

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

Method: get_close_image_palette(image, entries_count) [static]

 get_close_image_palette(image, entries_count) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
entries_countintDie gewünschte Anzahl an Einträgen.

Returns

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

See also:

Example # 1: The following example shows how to set a palette to a BMP image to reduce its…

Example # 2: The following example loads a BMP image and saves it back to BMP using variou…

Method: get_close_image_palette(image, entries_count, palette_mining_method) [static]

 get_close_image_palette(image, entries_count, palette_mining_method) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Die Palette wird für eine bessere indizierte Bildqualität optimiert oder unverändert übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
entries_countintDie gewünschte Anzahl an Einträgen.
palette_mining_methodPaletteMiningMethodDie Palette‑Mining‑Methode.

Returns

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

See also:

Example # 1: The following example shows how to compress a PNG image, using indexed color …

Method: get_close_image_palette_by_method(image, entries_count, palette_mining_method) [static]

 get_close_image_palette_by_method(image, entries_count, palette_mining_method) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Die Palette wird für eine bessere indizierte Bildqualität optimiert oder unverändert übernommen, wenn PaletteMiningMethod.UseCurrentPalette verwendet wird.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
entries_countintDie gewünschte Anzahl an Einträgen.
palette_mining_methodPaletteMiningMethodDie Palette‑Mining‑Methode.

Returns

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

Method: get_close_image_palette_by_rect(image, dest_bounds, entries_count) [static]

 get_close_image_palette_by_rect(image, dest_bounds, entries_count) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
dest_boundsRectangleDie Begrenzungen des Zielbildes.
entries_countintDie gewünschte Anzahl an Einträgen.

Returns

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

Method: get_close_transparent_image_palette(image, entries_count) [static]

 get_close_transparent_image_palette(image, entries_count) 

Ermittelt die Farbpalette aus dem Rasterbild (palettisiert das Bild), falls das Bild keine besitzt. Falls eine Palette existiert, wird sie anstelle von Berechnungen verwendet.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Rasterbild.
entries_countintDie gewünschte Anzahl an Einträgen.

Returns

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

Method: get_downscale_palette(image) [static]

 get_downscale_palette(image) 

Erhalte eine 256‑Farben‑Palette, zusammengesetzt aus den oberen Bits der ursprünglichen Bildfarbwerte.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Bild.

Returns

TypBeschreibung
ColorPaletteDie ColorPalette.

Method: get_uniform_color_palette(image) [static]

 get_uniform_color_palette(image) 

Erhalte eine einheitliche 256‑Farben‑Palette.

Parameters:

ParameterTypBeschreibung
imageRasterImageDas Bild.

Returns

TypBeschreibung
ColorPaletteDie ColorPalette.

Method: has_transparent_colors(palette) [static]

 has_transparent_colors(palette) 

Bestimmt, ob die angegebene Palette transparente Farben enthält.

Parameters:

ParameterTypBeschreibung
paletteIColorPaletteDie Palette.

Returns

TypBeschreibung
booltrue wenn die angegebene Palette transparente Farben enthält; andernfalls false.

Examples

The following example shows how to set a palette to a BMP image to reduce its output size.


from aspose.pycore import as_of
from aspose.imaging import Point, Color, Graphics, ColorPaletteHelper
from aspose.imaging.brushes import LinearGradientBrush
from aspose.imaging.fileformats.bmp import BmpImage
from aspose.imaging.imageoptions import BmpOptions
from os.path import join as path_join

# Erstelle ein BMP‑Bild mit 100 x 100 px.
with BmpImage(100, 100) as bmpImage:
	# Der lineare Farbverlauf von der linken oberen zur rechten unteren Ecke des Bildes.
	brush = LinearGradientBrush(Point(0, 0), Point(bmpImage.width, bmpImage.height),
								Color.red,
								Color.green)
	# Fülle das gesamte Bild mit dem linearen Farbverlaufs‑Pinsel.
	gr = Graphics(bmpImage)
	gr.fill_rectangle(brush, bmpImage.bounds)
	# Erhalte die nächstgelegene 8‑Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, sodass ein palettiertes Bild
	# fast visuell nicht von einem BMP ohne Palette zu unterscheiden ist.
	palette = ColorPaletteHelper.get_close_image_palette(bmpImage, 256)
	# Eine 8‑Bit-Palette enthält höchstens 256 Farben.
	saveOptions = BmpOptions()
	saveOptions.palette = palette
	saveOptions.bits_per_pixel = 8
	
	with stream_ext.create_memory_stream() as stream:
		bmpImage.save(stream, saveOptions)
		print(f"The size of image with palette is {stream.tell()} bytes.")
		stream.seek(0)
		bmpImage.save(stream)
		print(f"The size of image without palette is {stream.tell()} bytes.")

# Die Ausgabe sieht folgendermaßen aus:
# Die Größe des Bildes mit Palette beträgt 11078 Byte.
# Die Größe des Bildes ohne Palette beträgt 40054 Byte.

The following example shows how to compress a PNG image, using indexed color with best fit palette


from aspose.pycore import as_of
from aspose.imaging import Image, ColorPaletteHelper, RasterImage, PaletteMiningMethod
from aspose.imaging.fileformats.png import PngColorType

# Lädt PNG‑Bild        
sourceFilePath = "OriginalRings.png"
outputFilePath = "OriginalRingsOutput.png"
with Image.load(sourceFilePath) as image:
	png_options = PngOptions()
	png_options.progressive = True
	# Verwende indizierten Farbtyp
	png_options.color_type = PngColorType.INDEXED_COLOR
	# Verwende maximale Kompression
	png_options.compression_level = 9
	# Erhalte die nächstgelegene 8‑Bit-Farbpalette, die so viele Pixel wie möglich abdeckt, sodass ein Bild
	# mit Palette fast visuell nicht von einem Bild ohne Palette zu unterscheiden ist.
	png_options.palette = ColorPaletteHelper.get_close_image_palette(
						as_of(image, RasterImage), 256, 
						PaletteMiningMethod.HISTOGRAM)
		 
	image.save(outputFilePath, png_options);
}
# Die Ausgabedateigröße sollte deutlich reduziert werden

The following example loads a BMP image and saves it back to BMP using various save options.

from aspose.imaging import Image, RasterImage, ColorPaletteHelper, ResolutionSetting
from aspose.imaging.imageoptions import BmpOptions
from aspose.imaging.fileformats.bmp import BitmapCompression
import os
import aspose.pycore as aspycore

directory = "c:\\temp\\"

with Image.load(os.path.join(directory, "sample.bmp")) as image:
	
	rasterImage = aspycore.as_of(image, RasterImage)

	# Erstelle BmpOptions
	saveOptions = BmpOptions()

	# Verwende 8 Bit pro Pixel, um die Größe des Ausgabebildes zu reduzieren.
	saveOptions.bits_per_pixel = 8

	# Setze die nächstgelegene 8‑Bit-Farbpalette, die die maximale Anzahl an Bildpixeln abdeckt, sodass ein palettiertes Bild
	# ist fast visuell nicht von einer nicht palettierten Version zu unterscheiden.
	saveOptions.palette = ColorPaletteHelper.get_close_image_palette(rasterImage, 256)

	# Speichern ohne Kompression.
	# Sie können auch die RLE-8-Kompression verwenden, um die Größe des Ausgabebildes zu reduzieren.
	saveOptions.compression = BitmapCompression.RGB

	# Stellen Sie die horizontale und vertikale Auflösung auf 96 dpi ein.
	saveOptions.resolution_settings = ResolutionSetting(96.0, 96.0)

	image.save(os.path.join(directory, "sample.bmpoptions.bmp"), saveOptions)