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, @ColorInt defaultColor: Int) Returns the selected color for the given target from the palette as an RGB packed int. |
Int |
getDarkMutedColor(@ColorInt 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(@ColorInt 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(@ColorInt 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(@ColorInt 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(@ColorInt 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(@ColorInt 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(@ColorInt 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
@ColorInt fun getColorForTarget(
@NonNull target: Target,
@ColorInt defaultColor: Int
): Int
Returns the selected color for the given target from the palette as an RGB packed int.
Parameters | |
---|---|
defaultColor |
Int: value to return if the swatch isn't available |
getDarkMutedColor
@ColorInt fun getDarkMutedColor(@ColorInt 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
@ColorInt fun getDarkVibrantColor(@ColorInt 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