Palette
class Palette
kotlin.Any | |
↳ | androidx.palette.graphics.Palette |
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
Instances are created with a 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. 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 |
|
---|---|
Builder class for generating |
|
abstract |
A Filter provides a mechanism for exercising fine-grained control over which colors are valid within a resulting |
abstract |
Listener to be used with |
Represents a color swatch generated from an image's palette. |
Public methods |
|
---|---|
static Palette.Builder |
Start generating a |
static Palette |
from(@NonNull swatches: MutableList<Palette.Swatch!>) Generate a |
static Palette! | |
static Palette! | |
static AsyncTask<Bitmap!, Void!, Palette!>! |
generateAsync(bitmap: Bitmap!, listener: Palette.PaletteAsyncListener!) |
static AsyncTask<Bitmap!, Void!, Palette!>! |
generateAsync(bitmap: Bitmap!, numColors: Int, listener: Palette.PaletteAsyncListener!) |
Int |
getColorForTarget(@NonNull target: Target, defaultColor: Int) Returns the selected color for the given target from the palette as an RGB packed int. |
Int |
getDarkMutedColor(defaultColor: Int) Returns a muted and dark color from the palette as an RGB packed int. |
Palette.Swatch? |
Returns a muted and dark swatch from the palette. |
Int |
getDarkVibrantColor(defaultColor: Int) Returns a dark and vibrant color from the palette as an RGB packed int. |
Palette.Swatch? |
Returns a dark and vibrant swatch from the palette. |
Int |
getDominantColor(defaultColor: Int) Returns the color of the dominant swatch from the palette, as an RGB packed int. |
Palette.Swatch? |
Returns the dominant swatch from the palette. |
Int |
getLightMutedColor(defaultColor: Int) Returns a muted and light color from the palette as an RGB packed int. |
Palette.Swatch? |
Returns a muted and light swatch from the palette. |
Int |
getLightVibrantColor(defaultColor: Int) Returns a light and vibrant color from the palette as an RGB packed int. |
Palette.Swatch? |
Returns a light and vibrant swatch from the palette. |
Int |
getMutedColor(defaultColor: Int) Returns a muted color from the palette as an RGB packed int. |
Palette.Swatch? |
Returns a muted swatch from the palette. |
Palette.Swatch? |
getSwatchForTarget(@NonNull target: Target) Returns the selected swatch for the given target from the palette, or |
MutableList<Palette.Swatch!> |
Returns all of the swatches which make up the palette. |
MutableList<Target!> |
Returns the targets used to generate this palette. |
Int |
getVibrantColor(defaultColor: Int) Returns the most vibrant color in the palette as an RGB packed int. |
Palette.Swatch? |
Returns the most vibrant swatch in the palette. |
Extension functions |
||
---|---|---|
From androidx.palette.graphics
|
Public methods
from
@NonNull static fun from(@NonNull bitmap: Bitmap): Palette.Builder
Start generating a Palette
with the returned Builder
instance.
from
@NonNull static fun from(@NonNull swatches: MutableList<Palette.Swatch!>): Palette
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.
generate
static fungenerate(bitmap: Bitmap!): Palette!
Deprecated: Use Builder
to generate the Palette.
generate
static fungenerate(bitmap: Bitmap!, numColors: Int): Palette!
Deprecated: Use Builder
to generate the Palette.
generateAsync
static fungenerateAsync(bitmap: Bitmap!, listener: Palette.PaletteAsyncListener!): AsyncTask<Bitmap!, Void!, Palette!>!
Deprecated: Use Builder
to generate the Palette.
generateAsync
static fungenerateAsync(bitmap: Bitmap!, numColors: Int, listener: Palette.PaletteAsyncListener!): AsyncTask<Bitmap!, Void!, Palette!>!
Deprecated: Use Builder
to generate the Palette.
getColorForTarget
fun getColorForTarget(@NonNull target: Target, defaultColor: Int): Int
Returns the selected color for the given target from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Target: value to return if the swatch isn't available |
getDarkMutedColor
fun getDarkMutedColor(defaultColor: Int): Int
Returns a muted and dark color from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getDarkMutedSwatch
@Nullable fun getDarkMutedSwatch(): Palette.Swatch?
Returns a muted and dark swatch from the palette. Might be null.
See Also
getDarkVibrantColor
fun getDarkVibrantColor(defaultColor: Int): Int
Returns a dark and vibrant color from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getDarkVibrantSwatch
@Nullable fun getDarkVibrantSwatch(): Palette.Swatch?
Returns a dark and vibrant swatch from the palette. Might be null.
See Also
getDominantColor
fun getDominantColor(defaultColor: Int): Int
Returns the color of the dominant swatch from the palette, as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getDominantSwatch
@Nullable fun getDominantSwatch(): Palette.Swatch?
Returns the dominant swatch from the palette.
The dominant swatch is defined as the swatch with the greatest population (frequency) within the palette.
getLightMutedColor
fun getLightMutedColor(defaultColor: Int): Int
Returns a muted and light color from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getLightMutedSwatch
@Nullable fun getLightMutedSwatch(): Palette.Swatch?
Returns a muted and light swatch from the palette. Might be null.
See Also
getLightVibrantColor
fun getLightVibrantColor(defaultColor: Int): Int
Returns a light and vibrant color from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getLightVibrantSwatch
@Nullable fun getLightVibrantSwatch(): Palette.Swatch?
Returns a light and vibrant swatch from the palette. Might be null.
See Also
getMutedColor
fun getMutedColor(defaultColor: Int): Int
Returns a muted color from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getMutedSwatch
@Nullable fun getMutedSwatch(): Palette.Swatch?
Returns a muted swatch from the palette. Might be null.
See Also
getSwatchForTarget
@Nullable fun getSwatchForTarget(@NonNull target: Target): Palette.Swatch?
Returns the selected swatch for the given target from the palette, or null
if one could not be found.
getSwatches
@NonNull fun getSwatches(): MutableList<Palette.Swatch!>
Returns all of the swatches which make up the palette.
getTargets
@NonNull fun getTargets(): MutableList<Target!>
Returns the targets used to generate this palette.
getVibrantColor
fun getVibrantColor(defaultColor: Int): Int
Returns the most vibrant color in the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
See Also
getVibrantSwatch
@Nullable fun getVibrantSwatch(): Palette.Swatch?
Returns the most vibrant swatch in the palette. Might be null.
See Also