Palette 提取Bitmap主色調(diào)
1. 引入Palette類
在gradle中添加
implementation 'com.android.support:palette-v7:27.1.1'
2. Palette類使用
//獲取需要分析的Bitmap
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
//創(chuàng)建Palette.Builder對象
Palette.Builder builder = Palette.from(bitmap);
//開始解析圖片
builder.generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(@NonNull Palette palette) {
//解析結(jié)果處理:
//獲取圖片中充滿活力的色調(diào)
Palette.Swatch s = palette.getVibrantSwatch();
//獲取圖片中充滿活力的暗色調(diào)
Palette.Swatch s1 = palette.getDarkVibrantSwatch();
//獲取圖片中充滿活力的亮色調(diào)
Palette.Swatch s2 = palette.getLightVibrantSwatch();
//獲取圖片中柔和的色調(diào)
Palette.Swatch s3 = palette.getMutedSwatch();
//獲取圖片中柔和的暗色調(diào)
Palette.Swatch s4 = palette.getDarkMutedSwatch();
//獲取圖片中柔和的亮色調(diào)
Palette.Swatch s5 = palette.getLightMutedSwatch();
}
});
3. 解析結(jié)果處理 -- Palette.Swatch 類方法
- getPopulation(): 像素的數(shù)量
- getRgb(): RGB顏色
- getHsl(): HSL顏色
- getBodyTextColor(): 用于內(nèi)容文本的顏色
- getTitleTextColor(): 標(biāo)題文本的顏色