Android使用Palette获取图片主色调

Palette简介

Palette是Android中的调色板,我们可以通过传递一个Bitmap来获取一个颜色列表,可以通过类中封装的分析算法来获取其中的

  • Vibrant(充满活力的)
  • Vibrant dark(充满活力的黑)
  • Vibrant light(充满活力的亮)
  • Muted(柔和的)
  • Muted dark(柔和的黑)
  • Muted lighr(柔和的亮)

    也可以获取一个颜色列表,自己写算法挑选你想获取的颜色

官方APi提供两种方式
    // Synchronous
    Palette p = Palette.from(bitmap).generate();

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



    使用的时候引入 

    compile 'com.android.support:palette-v7:22.2.0'


    使采用异步方式进行引用
        Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {   
        @Override
        public void onGenerated(Palette palette) {      
            Palette.Swatch swatch = palette.getMutedSwatch();
      //Palette.Swatch swatch = palette.getVibrantSwatch();
      //Palette.Swatch swatch = palette.getDarkMutedSwatch();
      //Palette.Swatch swatch = palette.getDarkVibrantSwatch();
      //Palette.Swatch swatch = palette.getLightMutedSwatch();
      //Palette.Swatch swatch = palette.getLightVibrantSwatch();
            if (swatch != null) {
                view.setBackgroundColor(swatch.getRgb());
            } else {
                Log.e("smallsoho", "swatch为空");
            }
        }
    });
github上有提供和图片加载结合的library使用起来比较简单

PicassoPalette

GlidePalette

参考资料

http://smallsoho.com/2015/07/22/Android-Palette.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1111/1955.html
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值