ColorPaletteHelper-klass

Summary: Helper class for color palettes manipulation.

Module: aspose.imaging

Full Name: aspose.imaging.ColorPaletteHelper

Methods

NameDescription
create_4_bit()Skapar 4-bitars färgpalett.
create_4_bit_grayscale(min_is_white)Skapar 4-bitars gråskala-palett.
create_8_bit()Skapar 8-bitars färgpalett.
create_8_bit_grayscale(min_is_white)Skapar 8-bitars gråskala-palett.
create_grayscale(bits)Hämtar den gråskaliga paletten för angivet bitantal. Tillåtna bitvärden är 1, 2, 4, 8.
create_monochrome()Skapar en monokrom färgpalett som endast innehåller 2 färger.
get_close_image_palette(image, dest_bounds, entries_count)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_image_palette(image, dest_bounds, entries_count, use_image_palette, alpha_blend_in_color, keep_transparency)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_image_palette(image, entries_count)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_image_palette(image, entries_count, palette_mining_method)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Paletten är på väg att optimeras för bättre indexerad bildkvalitet eller tas “AS IS” när PaletteMiningMethod.UseCurrentPalette används.
get_close_image_palette_by_method(image, entries_count, palette_mining_method)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Paletten är på väg att optimeras för bättre indexerad bildkvalitet eller tas “AS IS” när PaletteMiningMethod.UseCurrentPalette används.
get_close_image_palette_by_rect(image, dest_bounds, entries_count)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_close_transparent_image_palette(image, entries_count)Hämtar färgpalett från rasterbild (palettiserar bilden) om bilden inte har någon. Om en palett finns kommer den att användas istället för att utföra beräkningar.
get_downscale_palette(image)Hämta en 256-färgs palett, sammansatt av de övre bitarna i bildens ursprungliga färgvärden.
get_uniform_color_palette(image)Hämta en enhetlig 256-färgs palett.
has_transparent_colors(palette)Bestämmer om den angivna paletten har transparenta färger.

Method: create_4_bit() [static]

 create_4_bit() 

Skapar 4-bitars färgpalett.

Returns

TypBeskrivning
IColorPaletteDen 4-bitars färgpaletten.

Method: create_4_bit_grayscale(min_is_white) [static]

 create_4_bit_grayscale(min_is_white) 

Skapar 4-bitars gråskala-palett.

Parameters:

ParameterTypBeskrivning
min_is_whiteboolOm den är inställd på true börjar paletten med vit färg, annars börjar den med svart färg.

Returns

TypBeskrivning
IColorPaletteDen 4-bitars gråskaliga paletten.

Method: create_8_bit() [static]

 create_8_bit() 

Skapar 8-bitars färgpalett.

Returns

TypBeskrivning
IColorPaletteDen 8-bitars färgpaletten.

Method: create_8_bit_grayscale(min_is_white) [static]

 create_8_bit_grayscale(min_is_white) 

Skapar 8-bitars gråskala-palett.

Parameters:

ParameterTypBeskrivning
min_is_whiteboolOm den är inställd på true börjar paletten med vit färg, annars börjar den med svart färg.

Returns

TypBeskrivning
IColorPaletteDen 8-bitars gråskaliga paletten.

Method: create_grayscale(bits) [static]

 create_grayscale(bits) 

Hämtar den gråskaliga paletten för angivet bitantal. Tillåtna bitvärden är 1, 2, 4, 8.

Parameters:

ParameterTypBeskrivning
bitarintBitantalet.

Returns

TypBeskrivning
IColorPaletteGråskalig palett.

Method: create_monochrome() [static]

 create_monochrome() 

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

Returns

TypBeskrivning
IColorPaletteFärgpalett för monokroma bilder.

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

 get_close_image_palette(image, dest_bounds, entries_count) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
dest_boundsRectangleDestinationsbildens gränser.
entries_countintDet önskade antalet poster.

Returns

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

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) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
dest_boundsRectangleDestinationsbildens gränser.
entries_countintDet önskade antalet poster.
use_image_paletteboolOm den är inställd, kommer den att använda sin egen bildpalett om den finns tillgänglig.

Returns

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

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) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
dest_boundsRectangleDestinationsbildens gränser.
entries_countintDet önskade antalet poster.
use_image_paletteboolOm den är inställd, kommer den att använda sin egen bildpalett om den finns tillgänglig.
alpha_blend_in_colorColorFärgen som ska användas som bakgrundsfärg för halvtransparent alfa-ersättning.

Returns

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

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) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
dest_boundsRectangleDestinationsbildens gränser.
entries_countintDet önskade antalet poster.
use_image_paletteboolOm den är inställd, kommer den att använda sin egen bildpalett om den finns tillgänglig.
alpha_blend_in_colorColorFärgen som ska användas som bakgrundsfärg för halvtransparent alfa-ersättning.
keep_transparencyboolOm den är angiven kommer den att beakta alpha-kanalens bitar i bildens färger.

Returns

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

Method: get_close_image_palette(image, entries_count) [static]

 get_close_image_palette(image, entries_count) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
entries_countintDet önskade antalet poster.

Returns

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

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) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
entries_countintDet önskade antalet poster.
palette_mining_methodPaletteMiningMethodPalettutvinningsmetoden.

Returns

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

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) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
entries_countintDet önskade antalet poster.
palette_mining_methodPaletteMiningMethodPalettutvinningsmetoden.

Returns

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

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

 get_close_image_palette_by_rect(image, dest_bounds, entries_count) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
dest_boundsRectangleDestinationsbildens gränser.
entries_countintDet önskade antalet poster.

Returns

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

Method: get_close_transparent_image_palette(image, entries_count) [static]

 get_close_transparent_image_palette(image, entries_count) 

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

Parameters:

ParameterTypBeskrivning
imageRasterImageRasterbilden.
entries_countintDet önskade antalet poster.

Returns

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

Method: get_downscale_palette(image) [static]

 get_downscale_palette(image) 

Hämta en 256-färgs palett, sammansatt av de övre bitarna i bildens ursprungliga färgvärden.

Parameters:

ParameterTypBeskrivning
imageRasterImageBilden.

Returns

TypBeskrivning
ColorPaletteDen ColorPalette.

Method: get_uniform_color_palette(image) [static]

 get_uniform_color_palette(image) 

Hämta en enhetlig 256-färgs palett.

Parameters:

ParameterTypBeskrivning
imageRasterImageBilden.

Returns

TypBeskrivning
ColorPaletteDen ColorPalette.

Method: has_transparent_colors(palette) [static]

 has_transparent_colors(palette) 

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

Parameters:

ParameterTypBeskrivning
paletteIColorPalettePaletten.

Returns

TypBeskrivning
booltrue om den angivna paletten har transparenta färger; annars, 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

# Skapa en BMP-bild 100 x 100 px.
with BmpImage(100, 100) as bmpImage:
	# Den linjära gradienten från övre vänstra till nedre högra hörnet av bilden.
	brush = LinearGradientBrush(Point(0, 0), Point(bmpImage.width, bmpImage.height),
								Color.red,
								Color.green)
	# Fyll hela bilden med den linjära gradientpenseln.
	gr = Graphics(bmpImage)
	gr.fill_rectangle(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 skilja från en bmp utan palett
	palette = ColorPaletteHelper.get_close_image_palette(bmpImage, 256)
	# 8-bitars palett innehåller högst 256 färger.
	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.")

# Utdata ser ut så här:
# Storleken på bilden med palett är 11078 byte.
# Storleken på bilden utan palett är 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

# Laddar png-bild        
sourceFilePath = "OriginalRings.png"
outputFilePath = "OriginalRingsOutput.png"
with Image.load(sourceFilePath) as image:
	png_options = PngOptions()
	png_options.progressive = True
	# Använd indexerad färgtyp
	png_options.color_type = PngColorType.INDEXED_COLOR
	# Använd maximal komprimering
	png_options.compression_level = 9
	# Hämta den närmaste 8-bitars färgpaletten, som täcker så många pixlar som möjligt, så att en bild
	# med palett är nästan visuellt omöjlig att skilja från en bild utan palett.
	png_options.palette = ColorPaletteHelper.get_close_image_palette(
						as_of(image, RasterImage), 256, 
						PaletteMiningMethod.HISTOGRAM)
		 
	image.save(outputFilePath, png_options);
}
# Utdatafilens storlek bör minskas avsevärt

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)

	# Skapa BmpOptions
	saveOptions = BmpOptions()

	# Använd 8 bitar per pixel för att minska storleken på utdatafilen.
	saveOptions.bits_per_pixel = 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 skilja från en icke-paletiserad.
	saveOptions.palette = ColorPaletteHelper.get_close_image_palette(rasterImage, 256)

	# Spara utan komprimering.
	# Du kan också använda RLE-8-komprimering för att minska storleken på den resulterande bilden.
	saveOptions.compression = BitmapCompression.RGB

	# Ställ in horisontell och vertikal upplösning till 96 dpi.
	saveOptions.resolution_settings = ResolutionSetting(96.0, 96.0)

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