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
目前先對該開源項目做一個概述,具體的實現將會在后面詳細分析.
?
總結
以上是生活随笔為你收集整理的Android 颜色渲染(二) 颜色区域划分原理与实现思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: :网页设计与重构那些事儿
- 下一篇: 用于matplotlib对齐很有用的算法