• Android 颜色渲染(二) 颜色区域划分原理与实现思路


       上一篇讲到颜色选择器,该demo不能选择黑白或者具体区间颜色,这是为什么呢,还是要从原理部分讲起,首先看一下两张图:

               图1                   图2

    看一下这两张图,有什么相似的地方么,其实在第二张图中已经标记地很明显了,无论这个选择器以什么样的图形展现,是圆形选择器也好,线性或者画板选择器也好,其实都是由七种颜色进行组成:

    R,RG,G,GB,B,BR,R

    它们对应的进制颜色值为 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00, 0xFFFFFF00, 0xFFFF0000

    看到这个值我们是不是很熟悉,在apidemos中图1 所示的渐变色圆环怎么初始化的呢:

    1. mColors = new int[] {//渐变色数组    
    2.     0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,    
    3.     0xFFFFFF00, 0xFFFF0000    
    4. };    

    没错,实际上这个渐变色圆环也是由这七段颜色组成,所以这个demo是没办法选择黑白色的

    怎么加入黑白色呢,这里我说下大概思路:

     1.   首先要有黑白渐变的参数: 0xFF000000,0xFFFFFFFF

      2.  绘制圆环或者颜色板时留出黑白色块区域单独进行绘制

                                               图3

    再看一张图:

    图4

    这张七彩图又有了一种模糊的感觉,这种效果又是怎么实现的呢,相信很多人已经猜到了,这种效果就是图2和图3综合绘制出来的图形(正常七段颜色图加上黑白颜色渐变)

    其实关于颜色选择器呢,最经典的还是在PS 中的调色板应用,这里我只是做一些简单的原理性描述,

    有想深入研究的童鞋,可以看下 Wiki百科上关于RGB,  HSL和HSV色彩空间的介绍. 以及AS3调色板算法, 相信会对颜色处理方面有很大的帮助,

    以下附上对应的链接:

    维基百科:

    三原色光模型:

    http://zh.wikipedia.org/wiki/RGB

    HSL和HSV色彩空间:

    http://zh.wikipedia.org/wiki/HSV%E8%89%B2%E5%BD%A9%E5%B1%9E%E6%80%A7%E6%A8%A1%E5%BC%8F

    AS3调色板算法:

    http://hi.baidu.com/weiwei6699/item/ae1551d770601c14d90e448d

  • 相关阅读:
    ListView
    ScrollView-电影列表
    ScrollView
    Image组件
    TextInput
    Touchable类组件
    Text
    View
    FlexBox
    StyleSheet
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5571853.html
Copyright © 2020-2023  润新知