This logic also works for flex
package {
import flash.filters.ColorMatrixFilter;
import flash.display.MovieClip;
import flash.display.Loader;
import fl.controls.Slider;
import flash.net.URLRequest;
import fl.motion.*;
import flash.events.Event;
public class AdjustColorExample extends MovieClip
{
private var loader:Loader = new Loader();
private var Br_slider:Slider;
private var co_slider:Slider;
private var hu_slider:Slider;
private var sa_slider:Slider;
public function AdjustColorExample() {
var imgUrl:String = "http://www.helpexamples.com/flash/images/image1.jpg";
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, setFilter);
var request:URLRequest = new URLRequest(imgUrl);
loader.load(request);
addChild(loader);
//-- min -100 and max 100 for brightness
Br_slider = getSlider(-100, 100, 50, 390, 300);
//-- min -100 and max 100 for contrast
co_slider = getSlider(-100, 100, 50, 420, 300);
//-- min -180 and max 180 for hue
hu_slider = getSlider(-180, 180, 50, 450, 300);
//-- min -100 and max 100 for saturation
sa_slider = getSlider(-100, 100, 50, 480, 300);
}
private function getSlider(min, max, xx, yy, w){
var slider:Slider = new Slider();
slider.minimum = min;
slider.maximum = max;
slider.x = xx;
slider.y = yy;
slider.width = w;
slider.addEventListener(Event.CHANGE, onChange);
addChild(slider);
return slider;
}
public function onChange(e:Event):void {
setFilter(e)
}
private function setFilter(e:Event){
var myColor:AdjustColor = new AdjustColor();
myColor.brightness = Br_slider.value;
myColor.contrast = co_slider.value;
myColor.hue = hu_slider.value;
myColor.saturation = sa_slider.value;
var matrix:Array = new Array();
matrix = myColor.CalculateFinalFlatArray();
var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
var myFilters:Array = new Array();
myFilters.push(filter);
loader.filters = myFilters;
}
}
}
This movie requires Flash Player 9