Actionscript 3.0: Mostrar imagen en blanco y negro con ColorMatrixFilter

Actionscript 3.0: Mostrar imagen en blanco y negro con ColorMatrixFilter

Etiquetas: ColorMatrixFilter filters

Actionscript 3.0: Mostrar imagen en blanco y negro con ColorMatrixFilter

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:

  1.  
  2. private var rLum:Number = 0.2225;
  3. private var gLum:Number = 0.7169;
  4. private var bLum:Number = 0.0606; 
  5.  
  6. private var bwMatrix:Array = [rLum, gLum, bLum, 0, 0,
  7.                               rLum, gLum, bLum, 0, 0,
  8.                               rLum, gLum, bLum, 0, 0,
  9.                               0, 0, 0, 1, 0]; 
  10.  

Podemos crear un filtro con ella, asi:

  1.  
  2. var filtroBW:ColorMatrixFilter 
  3. filtroBW = new ColorMatrixFilter(bwMatrix);
  4.  

y aplicarlo a un MovieClip (que en este caso está en el escenario con el nombre Imagen2_mc):

  1.  
  2. Imagen2_mc.filters = [filtroBW]
  3.  

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: