Android APIs
public final class

Palette

extends Object
java.lang.Object
   ↳ android.support.v7.graphics.Palette

Class Overview

A helper class to extract prominent colors from an image.

A number of colors with different profiles are extracted from the image:

  • Vibrant
  • Vibrant Dark
  • Vibrant Light
  • Muted
  • Muted Dark
  • Muted Light
These can be retrieved from the appropriate getter method.

Instances are created with a Palette.Builder which supports several options to tweak the generated Palette. See that class' documentation for more information.

Generation should always be completed on a background thread, ideally the one in which you load your image on. Palette.Builder supports both synchronous and asynchronous generation:

 // Synchronous
 Palette p = Palette.from(bitmap).generate();

 // Asynchronous
 Palette.from(bitmap).generate(new PaletteAsyncListener() {
     public void onGenerated(Palette p) {
         // Use generated instance
     }
 });
 

Summary

Nested Classes
class Palette.Builder Builder class for generating Palette instances. 
class Palette.Generator Extension point for Palette which allows custom processing of the list of Palette.Swatch instances which represent an image. 
interface Palette.PaletteAsyncListener Listener to be used with generateAsync(Bitmap, PaletteAsyncListener) or generateAsync(Bitmap, int, PaletteAsyncListener)  
class Palette.Swatch Represents a color swatch generated from an image's palette. 
Public Methods
static Palette from(List<Palette.Swatch> swatches)
Generate a Palette from the pre-generated list of Palette.Swatch swatches.
static Palette.Builder from(Bitmap bitmap)
Start generating a Palette with the returned Palette.Builder instance.
static Palette generate(Bitmap bitmap)
This method is deprecated. Use Palette.Builder to generate the Palette.
static Palette generate(Bitmap bitmap, int numColors)
This method is deprecated. Use Palette.Builder to generate the Palette.
static AsyncTask<BitmapVoidPalette> generateAsync(Bitmap bitmap, int numColors, Palette.PaletteAsyncListener listener)
This method is deprecated. Use Palette.Builder to generate the Palette.
static AsyncTask<BitmapVoidPalette> generateAsync(Bitmap bitmap, Palette.PaletteAsyncListener listener)
This method is deprecated. Use Palette.Builder to generate the Palette.
int getDarkMutedColor(int defaultColor)
Returns a muted and dark color from the palette as an RGB packed int.
Palette.Swatch getDarkMutedSwatch()
Returns a muted and dark swatch from the palette.
int getDarkVibrantColor(int defaultColor)
Returns a dark and vibrant color from the palette as an RGB packed int.
Palette.Swatch getDarkVibrantSwatch()
Returns a dark and vibrant swatch from the palette.
int getLightMutedColor(int defaultColor)
Returns a muted and light color from the palette as an RGB packed int.
Palette.Swatch getLightMutedSwatch()
Returns a muted and light swatch from the palette.
int getLightVibrantColor(int defaultColor)
Returns a light and vibrant color from the palette as an RGB packed int.
Palette.Swatch getLightVibrantSwatch()
Returns a light and vibrant swatch from the palette.
int getMutedColor(int defaultColor)
Returns a muted color from the palette as an RGB packed int.
Palette.Swatch getMutedSwatch()
Returns a muted swatch from the palette.
List<Palette.Swatch> getSwatches()
Returns all of the swatches which make up the palette.
int getVibrantColor(int defaultColor)
Returns the most vibrant color in the palette as an RGB packed int.
Palette.Swatch getVibrantSwatch()
Returns the most vibrant swatch in the palette.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public static Palette from (List<Palette.Swatch> swatches)

Generate a Palette from the pre-generated list of Palette.Swatch swatches. This is useful for testing, or if you want to resurrect a Palette instance from a list of swatches. Will return null if the swatches is null.

public static Palette.Builder from (Bitmap bitmap)

Start generating a Palette with the returned Palette.Builder instance.

public static Palette generate (Bitmap bitmap)

This method is deprecated.
Use Palette.Builder to generate the Palette.

public static Palette generate (Bitmap bitmap, int numColors)

This method is deprecated.
Use Palette.Builder to generate the Palette.

public static AsyncTask<BitmapVoidPalette> generateAsync (Bitmap bitmap, int numColors, Palette.PaletteAsyncListener listener)

This method is deprecated.
Use Palette.Builder to generate the Palette.

public static AsyncTask<BitmapVoidPalette> generateAsync (Bitmap bitmap, Palette.PaletteAsyncListener listener)

This method is deprecated.
Use Palette.Builder to generate the Palette.

public int getDarkMutedColor (int defaultColor)

Returns a muted and dark color from the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getDarkMutedSwatch ()

Returns a muted and dark swatch from the palette. Might be null.

public int getDarkVibrantColor (int defaultColor)

Returns a dark and vibrant color from the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getDarkVibrantSwatch ()

Returns a dark and vibrant swatch from the palette. Might be null.

public int getLightMutedColor (int defaultColor)

Returns a muted and light color from the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getLightMutedSwatch ()

Returns a muted and light swatch from the palette. Might be null.

public int getLightVibrantColor (int defaultColor)

Returns a light and vibrant color from the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getLightVibrantSwatch ()

Returns a light and vibrant swatch from the palette. Might be null.

public int getMutedColor (int defaultColor)

Returns a muted color from the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getMutedSwatch ()

Returns a muted swatch from the palette. Might be null.

public List<Palette.Swatch> getSwatches ()

Returns all of the swatches which make up the palette.

public int getVibrantColor (int defaultColor)

Returns the most vibrant color in the palette as an RGB packed int.

Parameters
defaultColor value to return if the swatch isn't available

public Palette.Swatch getVibrantSwatch ()

Returns the most vibrant swatch in the palette. Might be null.