基于Android的rgb七彩环颜色采集器

这篇博客介绍了如何在Android上实现一个RGB七彩环颜色采集器,包括绘图步骤、颜色角度转换和点击事件处理。文章详细阐述了绘制圆环、选择器、颜色计算以及交互逻辑,并提供了项目源码链接。
摘要由CSDN通过智能技术生成

代码地址如下:
http://www.demodashi.com/demo/11892.html

一、前言。

在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色,甚是不解!这个谜团一直在心中困惑。

越是好奇,越是扬起袖子就是干!于是乎,自己结合自己的开发经验和网上开源的代码,进一步的剖析原理,把分析过程一一展现给大家。


这里写图片描述


#### 特性:

  • 支持采集效果为十六进制的输出与支持十六进制的输入设置圆环颜色。 比如 #ee1313 红色

  • 支持采集效果为十进制的输出与支持十进制的输入设置圆环颜色。 比如 -16764673 蓝色

    方法说明:
方法 说明 参数说明
setSeekBarColorPickerChangeListener() 色环的颜色值改变时候回调方法 color:十进制颜色 ,htmlRgb:十六进制的颜色
setColorByhtmlRGB() 通过十六进制设置色环颜色 十六进制
setColorByInt() 通过十进制设置色环颜色 十进制
setGizwitLight() 设置采集方式为机智云灯 ture则开启,fasle不开启。默认不开启。毕竟机智云社区的灯的rgb控制范围0到254

效果图:

这里写图片描述


二、绘图步骤:


绘图原理:


这里写图片描述


绘图步骤:


这里写图片描述


#### 特性:

  • 支持采集效果为十六进制的输出与支持十六进制的输入设置圆环颜色。 比如 #ee1313 红色

  • 支持采集效果为十进制的输出与支持十进制的输入设置圆环颜色。 比如 -16764673 蓝色

    方法说明:
方法 说明 参数说明
setSeekBarColorPickerChangeListener() 色环的颜色值改变时候回调方法 color:十进制颜色 ,htmlRgb:十六进制的颜色
setColorByhtmlRGB() 通过十六进制设置色环颜色
setColorByInt() 通过十进制设置色环颜色
setGizwitLight() 设置采集方式为机智云灯 ture则开启,fasle不开启。因为机智云的默认定义rgb范围 0到254

第一步:先画圆环和内部圆。

  • 具体的自定义画圆的步骤大家都熟悉。画笔、测量。

    • 画笔初始化不必多说,强调下渐变色环画笔的stytle属性;还有渐变色环通过SweepGradient类实现。

    Paint.Style.STROKE : 只绘制图形轮廓(描边), 通常的圆环设置这个属性
    Paint.Style.FILL : 只绘制图形内容 。
    Paint.Style.FILL_AND_STROKE : 既绘制轮廓也绘制内容。

        //circleX 渲染中心点x坐标,circleY渲染中心y点坐标;mCircleColors为渐变颜色内容
        Shader s = new SweepGradient(circleX, circleY, mCircleColors, null);
       
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值