图像处理(3)

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

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));

读书导航