Modificar valores de una imagen con la clase AdjustColor

Modificar valores de una imagen con la clase AdjustColor

Etiquetas: AdjustColor

Imagen en reemplazo de flash

Las clase AdjustColor permite crear un filtro para modificar las propiedades brillo, contraste, matiz y saturación de cualquier elemento de visualización. Esto nos permite, por ejemplo, pasar una imagen a blanco y negro (poniendo la saturación al mínimo(-100)) o ajustar los colores de una foto.

La clase AdjustColor está disponible para Flash Player 9 o superior.

El código comentado y los fuentes a continuación:


  1. package  
  2. {
  3. 	import com.bit101.components.Label;
  4. 	import com.bit101.components.Slider;
  5. 	import flash.display.MovieClip;
  6. 	import fl.motion.AdjustColor;
  7. 	import flash.events.Event;
  8. 	import flash.filters.ColorMatrixFilter;
  9.  
  10. 	public class Main extends MovieClip
  11. 	{
  12. 		private var adjust_color:AdjustColor = new AdjustColor();
  13. 		private var imagen_mc:MovieClip;
  14. 		private var color_matrix_filter:ColorMatrixFilter;
  15.  
  16. 		private var slider_brillo:Slider
  17. 		private var slider_saturacion:Slider
  18. 		private var slider_contraste:Slider
  19. 		private var slider_tono:Slider
  20.  
  21. 		public function Main() 
  22. 		{
  23. 			init();
  24. 		}
  25.  
  26. 		private function init():void 
  27. 		{
  28. 			imagen_mc = MovieClip(getChildByName("Imagen_mc"));
  29.  
  30. 			/*
  31. 			 * Creación de los labels y de los sliders. Los valores máximo y mínimo de los sliders
  32. 			 * representan los valores admitidos por cada propiedad
  33. 			*/
  34.  
  35. 			var label_brillo:Label = new Label(stage, 10, 355, "BRILLO");
  36. 			var label_saturacion:Label = new Label(stage, 140, 355, "SATURACIÓN");
  37. 			var label_contraste:Label = new Label(stage, 270, 355, "CONTRASTE");
  38. 			var label_tono:Label = new Label(stage, 400, 355, "MATIZ");
  39. 			slider_brillo = new Slider("horizontal", stage, 10, 380, ajustarColor);
  40. 			slider_brillo.minimum = -100;
  41. 			slider_brillo.maximum = 100;
  42. 			slider_saturacion = new Slider("horizontal", stage, 140, 380,  ajustarColor);
  43. 			slider_saturacion.minimum = -100;
  44. 			slider_saturacion.maximum = 100;
  45. 			slider_contraste = new Slider("horizontal", stage, 270, 380,  ajustarColor);
  46. 			slider_contraste.minimum = -100;
  47. 			slider_contraste.maximum = 100;
  48. 			slider_tono = new Slider("horizontal", stage, 400, 380, ajustarColor);
  49. 			slider_tono.minimum = -180;
  50. 			slider_tono.maximum = 180;
  51. 		}
  52.  
  53. 		private function ajustarColor(e:Event):void {
  54. 			//Modificamos los valores del objeto adjust Color según los valores de los sliders
  55. 			adjust_color.hue = slider_tono.value;
  56. 			adjust_color.saturation = slider_saturacion.value;
  57. 			adjust_color.brightness = slider_brillo.value;
  58. 			adjust_color.contrast = slider_contraste.value;
  59.  
  60. 			//Creamos un nuevo filtro de color basándonos en el objeto
  61. 			color_matrix_filter = new ColorMatrixFilter(adjust_color.CalculateFinalFlatArray());
  62.  
  63. 			//Aplicamos el filtro a la imagen
  64. 			imagen_mc.filters = [color_matrix_filter];
  65. 		}
  66.  
  67. 	}
  68.  
  69. }

Descargar archivos

Comentarios
    • Autor
    • Diego
    Como hago para que esa imágen tenga que ser cargada desde algún punto?
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: