Classe ColorPaletteHelper

Summary: Helper class for color palettes manipulation.

Module: aspose.imaging

Full Name: aspose.imaging.ColorPaletteHelper

Methods

NameDescription
create_4_bit()Crée la palette de couleurs 4 bits.
create_4_bit_grayscale(min_is_white)Crée la palette de niveaux de gris 4 bits.
create_8_bit()Crée la palette de couleurs 8 bits.
create_8_bit_grayscale(min_is_white)Crée la palette de niveaux de gris 8 bits.
create_grayscale(bits)Obtient la palette de niveaux de gris du nombre de bits spécifié. Les valeurs de bits autorisées sont 1, 2, 4, 8.
create_monochrome()Crée une palette de couleurs monochrome contenant uniquement 2 couleurs.
get_close_image_palette(image, dest_bounds, entries_count)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color, keep_transparency)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_image_palette(image, entries_count)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_image_palette(image, entries_count, palette_mining_method)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. La palette est sur le point d’être optimisée pour une meilleure qualité d’image indexée ou prise “EN L’ÉTAT” lorsque PaletteMiningMethod.UseCurrentPalette est utilisé.
get_close_image_palette_by_method(image, entries_count, palette_mining_method)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. La palette est sur le point d’être optimisée pour une meilleure qualité d’image indexée ou prise “EN L’ÉTAT” lorsque PaletteMiningMethod.UseCurrentPalette est utilisé.
get_close_image_palette_by_rect(image, dest_bounds, entries_count)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_close_transparent_image_palette(image, entries_count)Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.
get_downscale_palette(image)Obtenir une palette de 256 couleurs, composée des bits supérieurs des valeurs de couleur de l’image initiale.
get_uniform_color_palette(image)Obtenir une palette uniforme de 256 couleurs.
has_transparent_colors(palette)Détermine si la palette spécifiée contient des couleurs transparentes.

Method: create_4_bit() [static]

 create_4_bit() 

Crée la palette de couleurs 4 bits.

Returns

TypeDescription
IColorPaletteLa palette de couleurs 4 bits.

Method: create_4_bit_grayscale(min_is_white) [static]

 create_4_bit_grayscale(min_is_white) 

Crée la palette de niveaux de gris 4 bits.

Parameters:

ParamètreTypeDescription
min_is_whiteboolsi réglé sur true la palette commence avec la couleur blanche, sinon elle commence avec la couleur noire.

Returns

TypeDescription
IColorPaletteLa palette de niveaux de gris 4 bits.

Method: create_8_bit() [static]

 create_8_bit() 

Crée la palette de couleurs 8 bits.

Returns

TypeDescription
IColorPaletteLa palette de couleurs 8 bits.

Method: create_8_bit_grayscale(min_is_white) [static]

 create_8_bit_grayscale(min_is_white) 

Crée la palette de niveaux de gris 8 bits.

Parameters:

ParamètreTypeDescription
min_is_whiteboolsi réglé sur true la palette commence avec la couleur blanche, sinon elle commence avec la couleur noire.

Returns

TypeDescription
IColorPaletteLa palette de niveaux de gris 8 bits.

Method: create_grayscale(bits) [static]

 create_grayscale(bits) 

Obtient la palette de niveaux de gris du nombre de bits spécifié. Les valeurs de bits autorisées sont 1, 2, 4, 8.

Parameters:

ParamètreTypeDescription
bitsintLe nombre de bits.

Returns

TypeDescription
IColorPalettePalette de niveaux de gris.

Method: create_monochrome() [static]

 create_monochrome() 

Crée une palette de couleurs monochrome contenant uniquement 2 couleurs.

Returns

TypeDescription
IColorPalettePalette de couleurs pour images monochromes.

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

 get_close_image_palette(image, dest_bounds, entries_count) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
dest_boundsRectangleLes limites de l’image de destination.
entries_countintLe nombre d’entrées souhaité.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
dest_boundsRectangleLes limites de l’image de destination.
entries_countintLe nombre d’entrées souhaité.
use_image_paletteboolSi défini, il utilisera sa propre palette d’image si disponible

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
dest_boundsRectangleLes limites de l’image de destination.
entries_countintLe nombre d’entrées souhaité.
use_image_paletteboolSi défini, il utilisera sa propre palette d’image si disponible
alpha_blend_in_colorColorLa couleur qui doit être utilisée comme couleur d’arrière-plan pour le remplacement alpha semi-transparent.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
dest_boundsRectangleLes limites de l’image de destination.
entries_countintLe nombre d’entrées souhaité.
use_image_paletteboolSi défini, il utilisera sa propre palette d’image si disponible
alpha_blend_in_colorColorLa couleur qui doit être utilisée comme couleur d’arrière-plan pour le remplacement alpha semi-transparent.
keep_transparencyboolSi elle est définie, elle considérera les bits du canal alpha des couleurs de l’image.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

Method: get_close_image_palette(image, entries_count) [static]

 get_close_image_palette(image, entries_count) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
entries_countintLe nombre d’entrées souhaité.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. La palette est sur le point d’être optimisée pour une meilleure qualité d’image indexée ou prise “EN L’ÉTAT” lorsque PaletteMiningMethod.UseCurrentPalette est utilisé.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
entries_countintLe nombre d’entrées souhaité.
palette_mining_methodPaletteMiningMethodLa méthode d’extraction de palette.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. La palette est sur le point d’être optimisée pour une meilleure qualité d’image indexée ou prise “EN L’ÉTAT” lorsque PaletteMiningMethod.UseCurrentPalette est utilisé.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
entries_countintLe nombre d’entrées souhaité.
palette_mining_methodPaletteMiningMethodLa méthode d’extraction de palette.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

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

 get_close_image_palette_by_rect(image, dest_bounds, entries_count) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
dest_boundsRectangleLes limites de l’image de destination.
entries_countintLe nombre d’entrées souhaité.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

Method: get_close_transparent_image_palette(image, entries_count) [static]

 get_close_transparent_image_palette(image, entries_count) 

Obtient la palette de couleurs à partir de l’image raster (palettise l’image) si l’image n’en possède pas. Si une palette existe, elle sera utilisée au lieu d’effectuer des calculs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image raster.
entries_countintLe nombre d’entrées souhaité.

Returns

TypeDescription
IColorPaletteLa palette de couleurs qui commence avec les couleurs les plus fréquentes de l’image et contient entriesCount entrées.

Method: get_downscale_palette(image) [static]

 get_downscale_palette(image) 

Obtenir une palette de 256 couleurs, composée des bits supérieurs des valeurs de couleur de l’image initiale.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image.

Returns

TypeDescription
ColorPaletteLe ColorPalette.

Method: get_uniform_color_palette(image) [static]

 get_uniform_color_palette(image) 

Obtenir une palette uniforme de 256 couleurs.

Parameters:

ParamètreTypeDescription
imageRasterImageL’image.

Returns

TypeDescription
ColorPaletteLe ColorPalette.

Method: has_transparent_colors(palette) [static]

 has_transparent_colors(palette) 

Détermine si la palette spécifiée contient des couleurs transparentes.

Parameters:

ParamètreTypeDescription
paletteIColorPaletteLa palette.

Returns

TypeDescription
booltrue si la palette spécifiée possède des couleurs transparentes ; sinon, 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

# Créez une image BMP de 100 x 100 px.
with BmpImage(100, 100) as bmpImage:
	# Le dégradé linéaire du coin supérieur gauche au coin inférieur droit de l'image.
	brush = LinearGradientBrush(Point(0, 0), Point(bmpImage.width, bmpImage.height),
								Color.red,
								Color.green)
	# Remplissez toute l'image avec le pinceau de dégradé linéaire.
	gr = Graphics(bmpImage)
	gr.fill_rectangle(brush, bmpImage.bounds)
	# Obtenez la palette de couleurs 8 bits la plus proche qui couvre le plus grand nombre de pixels possible, afin qu'une image à palette
	# est presque visuellement indiscernable d'un BMP sans palette
	palette = ColorPaletteHelper.get_close_image_palette(bmpImage, 256)
	# Une palette 8 bits contient au maximum 256 couleurs.
	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.")

# La sortie ressemble à ceci :
# La taille de l'image avec palette est de 11078 octets.
# La taille de l'image sans palette est de 40054 octets.

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

# Charge l'image png        
sourceFilePath = "OriginalRings.png"
outputFilePath = "OriginalRingsOutput.png"
with Image.load(sourceFilePath) as image:
	png_options = PngOptions()
	png_options.progressive = True
	# Utilisez le type de couleur indexée
	png_options.color_type = PngColorType.INDEXED_COLOR
	# Utilisez une compression maximale
	png_options.compression_level = 9
	# Obtenez la palette de couleurs 8 bits la plus proche, couvrant le plus grand nombre de pixels possible, afin qu'une image
	# avec palette soit presque visuellement indiscernable d'une image sans palette.
	png_options.palette = ColorPaletteHelper.get_close_image_palette(
						as_of(image, RasterImage), 256, 
						PaletteMiningMethod.HISTOGRAM)
		 
	image.save(outputFilePath, png_options);
}
# La taille du fichier de sortie devrait être considérablement réduite

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)

	# Créez BmpOptions
	saveOptions = BmpOptions()

	# Utilisez 8 bits par pixel pour réduire la taille de l'image de sortie.
	saveOptions.bits_per_pixel = 8

	# Définissez la palette de couleurs 8 bits la plus proche qui couvre le nombre maximal de pixels de l'image, afin qu'une image à palette
	# est presque visuellement indiscernable d'une version non palettisée.
	saveOptions.palette = ColorPaletteHelper.get_close_image_palette(rasterImage, 256)

	# Enregistrer sans compression.
	# Vous pouvez également utiliser la compression RLE-8 pour réduire la taille de l'image de sortie.
	saveOptions.compression = BitmapCompression.RGB

	# Définissez la résolution horizontale et verticale à 96 dpi.
	saveOptions.resolution_settings = ResolutionSetting(96.0, 96.0)

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