android.graphics.ColorMatrix
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
Public Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
ColorMatrix()
Create a new colormatrix initialized to identity (as if reset() had
been called).
public
ColorMatrix(float[] src)
Create a new colormatrix initialized with the specified array of values.
public
ColorMatrix(ColorMatrix src)
Create a new colormatrix initialized with the specified colormatrix.
Public Methods
public
final
float[]
getArray()
Return the array of floats representing this colormatrix.
public
void
postConcat(ColorMatrix postmatrix)
Concat this colormatrix with the specified postmatrix. This is logically
the same as calling setConcat(postmatrix, this);
public
void
preConcat(ColorMatrix prematrix)
Concat this colormatrix with the specified prematrix. This is logically
the same as calling setConcat(this, prematrix);
public
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
Assign the src colormatrix into this matrix, copying all of its values.
public
void
set(float[] src)
Assign the array of floats into this matrix, copying all of its values.
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()
Set the matrix to convert RGB to YUV
public
void
setRotate(int axis, float degrees)
public
void
setSaturation(float sat)
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)
Set this colormatrix to scale by the specified values.
public
void
setYUV2RGB()
Set the matrix to convert from YUV to RGB