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


          在前面的系列我已经将Android中颜色渲染的原理及使用做了一个整体上概述. 现在开始根据一个比较复杂的实现进行具体的分析,这就是PhotoShop中的调色板应用

    首先还是看一下最终的实现效果:

                                   图1

                                                     


            怎么样,是不是要比API Demos中的ColorPickerDialog要强大得多,而且完全可以媲美PhotoShop中的调色板.

            根据此例完全可以得到你想要的颜色,不再仅仅是一个简单的色相上的选取,而是提供一个HSV色彩及透明度的选取.

    这里对颜色渲染原理,比如HSV色彩空间不太了解的可以之前我关于这方面的介绍:

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

    看起来是不是实现很麻烦,不用担心,这里要介绍一个开源项目attenzione,已经很好地实现了这种PS调色板的效果

    鉴于目前github经常上不去的情况,这里我将调试好的项目已上传,下面是下载地址;

    http://download.csdn.net/detail/t12x3456/6246509



    首先看一下项目截图;

       图2



            从最开始的效果图,相信大家都看出来这个项目是以Preference的形式提供颜色选取的, 如果需要集成的话,只需以library的形式添加到工程中.

    当然,也可以根据自己的需求进行适当的修改并集成到项目中,非常方便.


    应用类功能:

    AlphaPatternDrawable:  基于Drawable的重写,提供透明度的绘制

    ColorPickerDialog; 颜色选择对话框

    ColorPickerPanelView:颜色生成及设置自定义VIEW

    ColorPickerPreference: 颜色设置

    ColorPickerView: 颜色选择自定义VIEW


                                      图3         图4

    图3为ColorPickerPreference的实现

    图4为ColorPickerDialog的实现,红色框选取的部分为ColorPickerView,绿色框的部分由ColorPickerPanelView实现,左边的用来实时显示颜色的生成结果,右边的进行最终颜色的设置.  其中绘制透明度选择区域时使用了AlphaPatternDrawable

    目前先对该开源项目做一个概述,具体的实现将会在后面详细分析.





  • 相关阅读:
    CentOS7配置RAID10
    CentOS7配置RAID5笔记
    CentOS7改主机名hostname
    CentOS7设置光盘镜像为本地yum源
    VMware安装Windows Server 2008
    VMware安装CentOS7
    xss漏洞介绍
    pakichu-暴力破解
    搭建xcode9的IOS开发环境
    dvwa之xss
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3315263.html
Copyright © 2020-2023  润新知