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是后画的图形

posted @ 2017-02-26 22:00  Cisol  阅读(191)  评论(0编辑  收藏  举报