Android--ColorMatrix改变图片颜色

分享到:

前言

  本篇博客讲解如何通过改变图片像素点RGB的值的方式,在Android中改变图片的颜色。在最后将以一个简单的Demo来作为演示。

   本篇博客的主要内容:

  1. ColorMatrix
  2. 使用ColorMatrix改变图片颜色的步骤
  3. 改变图片RGBA值的Demo

 

ColorMatrix

  在Android中,图片是以一个个RGBA的像素点的形式加载到内存中的,所以如果需要改变图片的颜色,就需要针对这一个个像素点的RGBA的值进行修改,其实主要是RGB,A是透明度。在Android下,修改图片RGBA的值需要ColorMatrix类的支持,它定义了一个5*4的float[]类型的矩阵,矩阵中每一行表示RGBA中的一个参数。

  一般常用指定ColorMatrix的RGBA值的方式有两种:

  • 通过构造函数ColorMatrix(float[] src)直接得到i一个ColorMatrix对象,其中src参数为5*4的float[]类型的矩阵。
  • 通过构造函数ColorMatrix()得到ColorMatrix对象,再通过set(float[] src)指定一个5*4的float[]类型的矩阵。

  下面是定义了一个不修改的原图的RGBA的ColorMatrix。

1         ColorMatrix colorMatrix = new ColorMatrix();
2         colorMatrix.set(new float[] { 
3                 1, 0, 0, 0, 0, 
4                 0, 1, 0, 0, 0, 
5                 0, 0, 1,0, 0, 
6                 0, 0, 0, 1, 0 
7                 });
昵    称:
验证码:

相关文档: