Android绘图机制和处理技巧
色彩特效处理
在色彩处理中,使用以下三个角度来描述一个图像.
色调: 物体传播的颜色
饱和度: 颜色的纯度, 从0(灰)到100%(饱和)来进行描述
亮度: 颜色的相对明暗程度
在Android中, 系统使用一个颜色矩阵--ColorMatrix, 来处理图像的这些色彩效果.
颜色矩阵 矩阵分量 矩阵乘法运算过程
- 第一行的abcde值用来决定新的颜色值中的R--红色
- 第二行的fghij值用来决定新的颜色值中的G--绿色
- 第三行的klmno值用来决定新的颜色值中的B--蓝色
- 第四行的pqrst值用来决定新的颜色值中的A--透明度
当a, g, m, s为1, 其余值为0时, 不会对原有颜色值进行任何改变.
图形特效处理
|a b c|
|d e f|
|g h i|
其中,
a和e控制Scale--缩放变换
b和d控制Skew--错切变换
c和f控制Trans--平移变换
a,b,d,e共同控制Rotate--旋转变换
画笔特效处理
PorterDuffXfermode
dst是先画的图形,可以视为背景, src是后画的图形