Class PaletteFactory
java.lang.Object
org.apache.commons.imaging.palette.PaletteFactory
Factory for creating palettes.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
int
countTrasparentColors
(int[] rgbs) boolean
boolean
hasTransparency
(BufferedImage src, int threshold) boolean
isGrayscale
(BufferedImage src) Builds an exact complete opaque palette containing all the colors insrc
, using an algorithm that is faster than makeExactRgbPaletteSimple(java.awt.image.BufferedImage, int) for large images but uses 2 mebibytes of working memory.makeExactRgbPaletteSimple
(BufferedImage src, int max) Builds an exact complete opaque palette containing all the colors insrc
, and fails by returningnull
if there are more thanmax
colors necessary to do this.makeQuantizedRgbaPalette
(BufferedImage src, boolean transparent, int max) Builds an inexact possibly translucent palette of at mostmax
colors insrc
using the traditional Median Cut algorithm.makeQuantizedRgbPalette
(BufferedImage src, int max) Builds an inexact opaque palette of at mostmax
colors insrc
using a variation of the Median Cut algorithm.
-
Field Details
-
COMPONENTS
- See Also:
-
-
Constructor Details
-
PaletteFactory
public PaletteFactory()
-
-
Method Details
-
countTransparentColors
-
countTrasparentColors
-
hasTransparency
-
hasTransparency
-
isGrayscale
-
makeExactRgbPaletteFancy
Builds an exact complete opaque palette containing all the colors insrc
, using an algorithm that is faster than makeExactRgbPaletteSimple(java.awt.image.BufferedImage, int) for large images but uses 2 mebibytes of working memory. Treats all the colors as opaque.- Parameters:
src
- the image whose palette to build- Returns:
- the palette
-
makeExactRgbPaletteSimple
Builds an exact complete opaque palette containing all the colors insrc
, and fails by returningnull
if there are more thanmax
colors necessary to do this.- Parameters:
src
- the image whose palette to buildmax
- the maximum number of colors the palette can contain- Returns:
- the complete palette of
max
or less colors, ornull
if more thanmax
colors are necessary
-
makeQuantizedRgbaPalette
public Palette makeQuantizedRgbaPalette(BufferedImage src, boolean transparent, int max) throws ImagingException Builds an inexact possibly translucent palette of at mostmax
colors insrc
using the traditional Median Cut algorithm. Color bounding boxes are split along the longest axis, with each step splitting the box. All bits in each component are used. The Algorithm is slower and seems exact than makeQuantizedRgbPalette(BufferedImage, int).- Parameters:
src
- the image whose palette to buildtransparent
- whether to consider the alpha valuesmax
- the maximum number of colors the palette can contain- Returns:
- the palette of at most
max
colors - Throws:
ImagingException
- if it fails to process the palette
-
makeQuantizedRgbPalette
Builds an inexact opaque palette of at mostmax
colors insrc
using a variation of the Median Cut algorithm. Accurate to 6 bits per component, and works by splitting the color bounding box most heavily populated by colors along the component which splits the colors in that box most evenly.- Parameters:
src
- the image whose palette to buildmax
- the maximum number of colors the palette can contain- Returns:
- the palette of at most
max
colors
-