Palette实际就是一个调色板,用来分析图片的颜色特征,如柔和的,鲜艳的,等等,可用来分析图片的色彩特征,这样可以用来保证应用颜色的统一。

  • 使用之前先要在gradle中进行配置
dependencies {...compile 'com.android.support:appcompat-v7:21.0.3'compile 'com.android.support:palette-v7:21.+'...
}

Palette的基本使用如下:

BitmapDrawable drawable = (BitmapDrawable) iv.getDrawable();Bitmap bitmap = drawable.getBitmap();//得到bitmap里面的的一些色彩信息---通过Palette类分析出来的
//      Palette palette = Palette.generate(bitmap);//异步任务---可能分析的图片会比较大或者颜色分布比较复杂,会耗时比较久,防止卡死主线程。Palette.from(bitmap).generate(new PaletteAsyncListener() {@Overridepublic void onGenerated(Palette palette) {//暗、柔和的颜色int darkMutedColor = palette.getDarkMutedColor(Color.BLUE);//如果分析不出来,则返回默认颜色//暗、柔和int lightMutedColor = palette.getLightMutedColor(Color.BLUE);//暗、鲜艳int darkVibrantColor = palette.getDarkVibrantColor(Color.BLUE);//亮、鲜艳int lightVibrantColor = palette.getLightVibrantColor(Color.BLUE);//柔和int mutedColor = palette.getMutedColor(Color.BLUE);//柔和int vibrantColor = palette.getVibrantColor(Color.BLUE);//获取某种特性颜色的样品
//              Swatch lightVibrantSwatch = palette.getLightVibrantSwatch();Swatch lightVibrantSwatch = palette.getVibrantSwatch();//谷歌推荐的:图片的整体的颜色rgb的混合值---主色调int rgb = lightVibrantSwatch.getRgb();//谷歌推荐:图片中间的文字颜色int bodyTextColor = lightVibrantSwatch.getBodyTextColor();//谷歌推荐:作为标题的颜色(有一定的和图片的对比度的颜色值)int titleTextColor = lightVibrantSwatch.getTitleTextColor();//颜色向量float[] hsl = lightVibrantSwatch.getHsl();//分析该颜色在图片中所占的像素多少值int population = lightVibrantSwatch.getPopulation();}

获取到对应的图片之后,使用Palette进行色彩分析,提取出不同的颜色,使用这些颜色对该界面的其他控件进行颜色的赋值,保证应用的主题统一。

Palette的简单使用相关推荐

  1. Android - 一个似神器而非神器之Palette探索与实践

    背景 前段时间,在进行项目开发的时候,UI给了一个银行卡相关的列表,每个item都是渐变效果,直接使用背景图片,直接导致的是包增加近2M. 列表示例( >20个) 简单做法:服务器返回对象银行卡 ...

  2. lisp创建PaletteSet_CAD二次开发(.NET)之PaletteSet和Palette

    在CAD中经常用到停靠或浮动的PaletteSet,比如:特性.图层特性管理器.工具选项板等(以下截图来自AutoCAD2010界面). 特性PaletteSet(停靠) 图层特性管理器Palette ...

  3. android palette组件用法,Android Palette(调色板)的使用

    一.Palette的简单介绍 android-support-v7-palette 里面的Palette是Android L SDK 中的新特性,可以使用 Palette 从图像中提取出突出的颜色(主 ...

  4. Chrome最好用的插件都在这里了

    项目地址:https://github.com/zhaoolee/ChromeAppHeroes 在Github上,zhaoolee帮我们收集了60+多个Chrome插件,而且每一个插件都有一份中文说 ...

  5. 【赶紧收藏】22款设计师必备色彩工具,轻松打造别样的“视觉诱惑”

    色彩,作为网页或App设计的重要视觉元素之一,不仅能够帮助UI/UX设计师有效地展示和突出界面或产品相关信息和功能, 而且还能够轻松自然的流露和传达设计师相应情感,迅速吸引用户眼球的同时,引起用户情感 ...

  6. C语言读取bmp图像并做简单显示

    C语言读取bmp图像并做简单显示) bmp文件格式 读取bmp文件信息并展示 bmp文件格式 bmp文件大体上分为四个部分: bmp文件构成 位图文件头BITMAPFILEHEADER 位图信息头BI ...

  7. python 制作高斯mask_【趣味案例】用Python制作各种酷炫词云图,原来这么简单!...

    一.简介词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些 ...

  8. Google Palette算法详解以及OC化

    1.背景 在发现百日大战时景项目中.有一个创新玩法,就是通过筛选图片主色调来显示如红色系,蓝色系照片.这就涉及到了图片主色调的提取.技术选型为客户端进行图片颜色提取,上传到服务端.但是由于项目时间限制 ...

  9. 使用Palette类提取图片的颜色信息

    原文出处:http://qichaochen.github.io/2014/11/16/105-Android-5.0-Palette-01/ 在Material Design设计中很重要的一部分内容 ...

最新文章

  1. QT-qevent 事件的accept()和ignore()
  2. 数据结构基础:栈(Stack)
  3. 阐述Spring框架中Bean的生命周期?
  4. fastdfs 报错 err: TrackerTask RecvHeader recv resp status 28 != 0
  5. 容器技术Docker K8s 13 容器服务Kubernetes版ACK详解-使用镜像快速创建有状态应用
  6. 相亲交友源码中,音频AAC解码的实现代码
  7. IPMI IPMB协议
  8. android开发:NDK开发配置
  9. 【懒人必备神器】教你用Python做一个自动抽奖程序啦~
  10. 【WPF】用100行C#代码实现扫雷
  11. 可控硅及其应用 -- 功率调节、电机调速
  12. php 抓取淘宝商品详情
  13. Elasticsearch 数据迁移方案
  14. 测绘-编写数字高程模型(DEM)内插程序
  15. 机器学习——VC维问题
  16. 电气-接触器与空气开关
  17. python读取串口数据 绘图_使用Python串口实时显示数据并绘图的例子
  18. 自己怎么做引流推广?利用QQ群截流日引流量100
  19. 重型卡车、拖车和客车未来发展之路
  20. 计算机教室八字格言,浅谈如何深化多媒体电脑教学|教学理念八字格言

热门文章

  1. 符号引用和直接引用的区别
  2. 低频纹波、高频纹波、环路纹波、共模噪声、谐振噪声详解
  3. redis实现共同好友或者共同关注。
  4. 安徽二级计算机考试准考证打印入口
  5. 如何有效禁止qDebug的输出?qDebug().nospace()和noquote()的作用是什么?
  6. 双麦阵列回音消除及降噪模块 A-47设计用和强噪音下实测效果视频
  7. HTML开发技术【2】
  8. mysql外键创建不成功/失效
  9. 纯虚类(virtual class)和纯虚方法(pure virtual function)
  10. 数据分析问题(异常值识别)中数据预处理部分流程(含2022年全国服务外包大赛实例)