Android APIs
public class

ScriptIntrinsicColorMatrix

extends ScriptIntrinsic
java.lang.Object
   ↳ android.support.v8.renderscript.BaseObj
     ↳ android.support.v8.renderscript.Script
       ↳ android.support.v8.renderscript.ScriptIntrinsic
         ↳ android.support.v8.renderscript.ScriptIntrinsicColorMatrix

Class Overview

Intrinsic for applying a color matrix to allocations. This has the same effect as loading each element and converting it to a F32_4(RenderScript), multiplying the result by the 4x4 color matrix as performed by rsMatrixMultiply() and writing it to the output after conversion back to U8_4(RenderScript).

Summary

Protected Constructors
ScriptIntrinsicColorMatrix(long id, RenderScript rs)
Public Methods
static ScriptIntrinsicColorMatrix create(RenderScript rs, Element e)
Create an intrinsic for applying a color matrix to an allocation.
void forEach(Allocation ain, Allocation aout)
Invoke the kernel and apply the matrix to each cell of ain and copy to aout.
void forEach(Allocation ain, Allocation aout, Script.LaunchOptions opt)
Invoke the kernel and apply the matrix to each cell of input Allocation and copy to the output Allocation.
Script.KernelID getKernelID()
Get a KernelID for this intrinsic kernel.
void setAdd(float r, float g, float b, float a)
Set the value to be added after the color matrix has been applied.
void setAdd(Float4 f)
Set the value to be added after the color matrix has been applied.
void setColorMatrix(Matrix3f m)
Set the color matrix which will be applied to each cell of the image.
void setColorMatrix(Matrix4f m)
Set the color matrix which will be applied to each cell of the image.
void setGreyscale()
Set a color matrix to convert from RGB to luminance.
void setRGBtoYUV()
Set the matrix to convert from RGB to YUV with a direct copy of the 4th channel.
void setYUVtoRGB()
Set the matrix to convert from YUV to RGB with a direct copy of the 4th channel.
[Expand]
Inherited Methods
From class android.support.v8.renderscript.Script
From class android.support.v8.renderscript.BaseObj
From class java.lang.Object

Protected Constructors

protected ScriptIntrinsicColorMatrix (long id, RenderScript rs)

Public Methods

public static ScriptIntrinsicColorMatrix create (RenderScript rs, Element e)

Create an intrinsic for applying a color matrix to an allocation. Supported elements types are U8_4(RenderScript)

Parameters
rs The RenderScript context
e Element type for intputs and outputs
Returns
  • ScriptIntrinsicColorMatrix

public void forEach (Allocation ain, Allocation aout)

Invoke the kernel and apply the matrix to each cell of ain and copy to aout.

Parameters
ain Input allocation
aout Output allocation

public void forEach (Allocation ain, Allocation aout, Script.LaunchOptions opt)

Invoke the kernel and apply the matrix to each cell of input Allocation and copy to the output Allocation. If the vector size of the input is less than four, the remaining components are treated as zero for the matrix multiply. If the output vector size is less than four, the unused vector components are discarded.

Parameters
ain Input allocation
aout Output allocation
opt LaunchOptions for clipping

public Script.KernelID getKernelID ()

Get a KernelID for this intrinsic kernel.

Returns
  • Script.KernelID The KernelID object.

public void setAdd (float r, float g, float b, float a)

Set the value to be added after the color matrix has been applied. The default value is {0, 0, 0, 0}

Parameters
r The red add value.
g The green add value.
b The blue add value.
a The alpha add value.

public void setAdd (Float4 f)

Set the value to be added after the color matrix has been applied. The default value is {0, 0, 0, 0}

Parameters
f The float4 value to be added.

public void setColorMatrix (Matrix3f m)

Set the color matrix which will be applied to each cell of the image. This will set the alpha channel to be a copy.

Parameters
m The 3x3 matrix to set.

public void setColorMatrix (Matrix4f m)

Set the color matrix which will be applied to each cell of the image.

Parameters
m The 4x4 matrix to set.

public void setGreyscale ()

Set a color matrix to convert from RGB to luminance. The alpha channel will be a copy.

public void setRGBtoYUV ()

Set the matrix to convert from RGB to YUV with a direct copy of the 4th channel.

public void setYUVtoRGB ()

Set the matrix to convert from YUV to RGB with a direct copy of the 4th channel.