
Etiquetas: ColorMatrixFilter filters
La clase ColorMatrixFilter de Actionscript 3.0 permite aplicar una transformación a los valores de color y alfa de cada pixel de una imagen. Se puede aplicar sobre cualquier objeto que herede de la clase DisplayObject (es decir MovieClip, SimpleButton, TextField...).
Los filtros ColorMatrixFilter, se crean a partir de una matriz de transformación de 4x5, con lo valores de modificación que queremos aplicar a cada canal. Por ejemplo, si tenemos la matriz:
private var rLum:Number = 0.2225;
private var gLum:Number = 0.7169;
private var bLum:Number = 0.0606;
private var bwMatrix:Array = [rLum, gLum, bLum, 0, 0,
rLum, gLum, bLum, 0, 0,
rLum, gLum, bLum, 0, 0,
0, 0, 0, 1, 0];
Podemos crear un filtro con ella, asi:
var filtroBW:ColorMatrixFilter filtroBW = new ColorMatrixFilter(bwMatrix);
y aplicarlo a un MovieClip (que en este caso está en el escenario con el nombre Imagen2_mc):
Imagen2_mc.filters = [filtroBW]
De esta manera, hacemos que el contenido de Imagen2_mc aparezca en blanco y negro, pero podemos modificar los valores de bwMatrix para obtener otros efectos.
El código completo y los fuentes, son estos: