Unidad 20. Los filtros (VIII)



20.8. El filtro Ajustar color

 

Utilizando este filtro podremos cambiar todas las características correspondientes al color de la imagen:

Ajustar Color Ajustar Color

Sólo tiene una opción: .matrix.

Filtro ajustar color

En ella escribiremos una matriz de 20 elementos (4x5) que indicarán la cantidad de cada color, su intensidad, brillo, saturación y contraste.

Podrás modificar el filtro Ajustar Color escribiendo el siguiente código:

import flash.filters.ColorMatrixFilter;

var miMatriz:Array =  [1, 0, 0, 0, 100,
                       0, 1, 0, 0, 100,
                       0, 0, 1, 0, 100,
                       0, 0, 0, 1,   0];

var ajustaColor:ColorMatrixFilter = new ColorMatrixFilter(miMatriz);

miClip.filters = [ajustaColor];

20.9. Acceder a los filtros de un elemento

 

Para modificar los filtros asociados a un objeto tendremos que acceder a su propiedad filters.

Esta propiedad almacena una matriz que no puede ser editada directamente. Así que si queremos modificar los filtros que afectan a un objeto tendremos que darle una nueva matriz a la propiedad y desechar la anterior.

Así, si queremos añadirán nuevo filtro al objeto miClip deberemos escribir lo siguiente:

var sombra:DropShadowFilter = new DropShadowFilter();

var nuevaMatriz:Array = miClip.filters;
nuevaMatriz.push(sombra);

miClip.filters = nuevaMatriz;

Como puedes ver, lo que hacemos es guardar los filtros exitentes en una matriz nuevaMatriz, introducimos el nuevo filtro en ella con el método push() y luego le asignamos los filtros que contiene miMatriz al clip miClip.

 

Como esta propiedad se trata de una matriz también podemos acceder a los filtros de esta forma:

var nuevaMatriz:Array = miClip.filters;

nuevaMatriz[0].blurX = 15;
nuevaMatriz[0].blurY = 15;

miClip.filters = nuevaMatriz;

Descargamos los filtros en nuevaMatriz, y ahora accedemos al primer filtro almacenado y cambiamos sus propiedades blurX y blurY. Una vez modificadas, volvemos a volcar el contenido de nuevaMatriz en miClip.filters.

Fácil, ¿verdad? El único problema que tiene este método es que deberás recordar el lugar que ocupa cada filtro en la matriz. Recuerda que el método push() inserta un elemento en una matriz siempre en último lugar.

Ejercicios del Tema 20. Prueba evaluativa del Tema 20.



Marzo-2011
Pág. 20.8

Atrás  Inicio  Adelante




.