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:

Utilización de filtros en Actionscript 3.0

Utilización de filtros en Actionscript 3.0

Etiquetas: BevelFilter BlurFilter DropShadowFilter GlowFilter filters

Utilización de filtros en Actionscript 3.0

En AS3 hay disponibles 9 tipos de filtros. En este ejemplo aplico 4 de estos filtros a una imagen del escenario, por medio de un menú de Sliders. Con estos componentes modifico alguno de los parámetros de los filtros. Estos filtros son mucho más potentes de lo que yo muestro aquí, y un estudio detallado de como usarlos viene en la ayuda de Flash.