正文

图像处理(3)

Android多媒体开发高级编程 作者:(美)艾佛瑞


为了在代码中实现这个功能,可以执行如下操作:

ColorMatrix cm = new ColorMatrix();

cm.set(new float[] {

     2, 0, 0, 0, 0,

     0, 1, 0, 0, 0,

     0, 0, 1, 0, 0,

     0, 0, 0, 1, 0 });

paint.setColorFilter(new ColorMatrixColorFilter(cm));

相应地,可以通过该矩阵对任何颜色进行类似的处理。

3.4.2  改变对比度和亮度

可以通过增加或减少颜色值来调整图像的亮度和对比度。

以下代码将对每个颜色通道的强度加倍,其将影响到图像的亮度和对比度,如图3-15所示。

ColorMatrix cm = new ColorMatrix();

float contrast = 2;

cm.set(new float[] { 

     contrast, 0, 0, 0, 0,

     0, contrast, 0, 0, 0,

     0, 0, contrast, 0, 0,

     0, 0, 0, 1, 0 });

paint.setColorFilter(new ColorMatrixColorFilter(cm));


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号