Palette 提取Bitmap主色调

Palette 提取Bitmap主色调

1. 引入Palette类

在gradle中添加

    implementation 'com.android.support:palette-v7:27.1.1'
2. Palette类使用
        //获取需要分析的Bitmap
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

        //创建Palette.Builder对象
        Palette.Builder builder = Palette.from(bitmap);
        
        //开始解析图片
        builder.generate(new Palette.PaletteAsyncListener() {
            @Override
            public void onGenerated(@NonNull Palette palette) {
                //解析结果处理:

                //获取图片中充满活力的色调
                Palette.Swatch s = palette.getVibrantSwatch();
                //获取图片中充满活力的暗色调
                Palette.Swatch s1 = palette.getDarkVibrantSwatch();
                //获取图片中充满活力的亮色调
                Palette.Swatch s2 = palette.getLightVibrantSwatch();
                //获取图片中柔和的色调
                Palette.Swatch s3 = palette.getMutedSwatch();
                //获取图片中柔和的暗色调
                Palette.Swatch s4 = palette.getDarkMutedSwatch();
                //获取图片中柔和的亮色调
                Palette.Swatch s5 = palette.getLightMutedSwatch();
            }
        });
3. 解析结果处理 -- Palette.Swatch 类方法
  • getPopulation(): 像素的数量
  • getRgb(): RGB颜色
  • getHsl(): HSL颜色
  • getBodyTextColor(): 用于内容文本的颜色
  • getTitleTextColor(): 标题文本的颜色

你可能感兴趣的:(Palette 提取Bitmap主色调)