to top
Android APIs
public class

ColorMatrix

extends Object
java.lang.Object
   ↳ android.graphics.ColorMatrix

Class Overview

5x4 matrix for transforming the color+alpha components of a Bitmap. The matrix is stored in a single array, and its treated as follows: [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t ] When applied to a color [r, g, b, a], the resulting color is computed as (after clamping) R' = a*R + b*G + c*B + d*A + e; G' = f*R + g*G + h*B + i*A + j; B' = k*R + l*G + m*B + n*A + o; A' = p*R + q*G + r*B + s*A + t;

Summary

Public Constructors
ColorMatrix()
Create a new colormatrix initialized to identity (as if reset() had been called).
ColorMatrix(float[] src)
Create a new colormatrix initialized with the specified array of values.
ColorMatrix(ColorMatrix src)
Create a new colormatrix initialized with the specified colormatrix.
Public Methods
final float[] getArray()
Return the array of floats representing this colormatrix.
void postConcat(ColorMatrix postmatrix)
Concat this colormatrix with the specified postmatrix.
void preConcat(ColorMatrix prematrix)
Concat this colormatrix with the specified prematrix.
void reset()
Set this colormatrix to identity: [ 1 0 0 0 0 - red vector 0 1 0 0 0 - green vector 0 0 1 0 0 - blue vector 0 0 0 1 0 ] - alpha vector
void set(float[] src)
Assign the array of floats into this matrix, copying all of its values.
void set(ColorMatrix src)
Assign the src colormatrix into this matrix, copying all of its values.
void setConcat(ColorMatrix matA, ColorMatrix matB)
Set this colormatrix to the concatenation of the two specified colormatrices, such that the resulting colormatrix has the same effect as applying matB and then applying matA.
void setRGB2YUV()
Set the matrix to convert RGB to YUV
void setRotate(int axis, float degrees)
Set the rotation on a color axis by the specified values.
void setSaturation(float sat)
Set the matrix to affect the saturation of colors.
void setScale(float rScale, float gScale, float bScale, float aScale)
Set this colormatrix to scale by the specified values.
void setYUV2RGB()
Set the matrix to convert from YUV to RGB
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ColorMatrix ()

Since: API Level 1

Create a new colormatrix initialized to identity (as if reset() had been called).

public ColorMatrix (float[] src)

Since: API Level 1

Create a new colormatrix initialized with the specified array of values.

public ColorMatrix (ColorMatrix src)

Since: API Level 1

Create a new colormatrix initialized with the specified colormatrix.

Public Methods

public final float[] getArray ()

Since: API Level 1

Return the array of floats representing this colormatrix.

public void postConcat (ColorMatrix postmatrix)

Since: API Level 1

Concat this colormatrix with the specified postmatrix. This is logically the same as calling setConcat(postmatrix, this);

public void preConcat (ColorMatrix prematrix)

Since: API Level 1

Concat this colormatrix with the specified prematrix. This is logically the same as calling setConcat(this, prematrix);

public void reset ()

Since: API Level 1

Set this colormatrix to identity: [ 1 0 0 0 0 - red vector 0 1 0 0 0 - green vector 0 0 1 0 0 - blue vector 0 0 0 1 0 ] - alpha vector

public void set (float[] src)

Since: API Level 1

Assign the array of floats into this matrix, copying all of its values.

public void set (ColorMatrix src)

Since: API Level 1

Assign the src colormatrix into this matrix, copying all of its values.

public void setConcat (ColorMatrix matA, ColorMatrix matB)

Since: API Level 1

Set this colormatrix to the concatenation of the two specified colormatrices, such that the resulting colormatrix has the same effect as applying matB and then applying matA. It is legal for either matA or matB to be the same colormatrix as this.

public void setRGB2YUV ()

Since: API Level 1

Set the matrix to convert RGB to YUV

public void setRotate (int axis, float degrees)

Since: API Level 1

Set the rotation on a color axis by the specified values. axis=0 correspond to a rotation around the RED color axis=1 correspond to a rotation around the GREEN color axis=2 correspond to a rotation around the BLUE color

public void setSaturation (float sat)

Since: API Level 1

Set the matrix to affect the saturation of colors. A value of 0 maps the color to gray-scale. 1 is identity.

public void setScale (float rScale, float gScale, float bScale, float aScale)

Since: API Level 1

Set this colormatrix to scale by the specified values.

public void setYUV2RGB ()

Since: API Level 1

Set the matrix to convert from YUV to RGB