flash on 2010-7-27

by nacookan
♥0 | Line 74 | Modified 2010-07-27 10:56:11 | MIT License
play

ActionScript3 source code

/**
 * Copyright nacookan ( http://wonderfl.net/user/nacookan )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1IAD
 */

package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import flash.net.*;
    import com.flashdynamix.motion.TweensyGroup;
    import com.flashdynamix.motion.extras.ColorMatrix;
    import flash.filters.ColorMatrixFilter;
    
    public class Retoucher extends Sprite {
        public function Retoucher() {
            // load image
            var l:Loader = new Loader();
            l.load(new URLRequest('http://farm4.static.flickr.com/3391/3270232121_c19672061f.jpg'));
            var mc:MovieClip = new MovieClip();
            mc.addChild(l);
            addChild(mc);
            
            var contrast:Object = { value: 0, step: 0.1 };
            var contrast_up:Sprite = gen_button('contrast+', function():void{
                contrast.value += contrast.step;
                contrastTo(mc, contrast);
            });
            contrast_up.x = 380;
            contrast_up.y = 0;
            var contrast_down:Sprite = gen_button('contrast-', function():void{
                contrast.value -= contrast.step;
                contrastTo(mc, contrast);
            });
            contrast_down.x = 380;
            contrast_down.y = 25;
            addChild(contrast_up);
            addChild(contrast_down);
            
            var brightness:Object = { value: 0, step: 0.1 };
            var brightness_up:Sprite = gen_button('brightness+', function():void{
                brightness.value += brightness.step;
                brightnessTo(mc, brightness);
            });
            brightness_up.x = 380;
            brightness_up.y = 55;
            var brightness_down:Sprite = gen_button('brightness-', function():void{
                brightness.value -= brightness.step;
                brightnessTo(mc, brightness);
            });
            brightness_down.x = 380;
            brightness_down.y = 80;
            addChild(brightness_up);
            addChild(brightness_down);
        }
        
        private function contrastTo(mc:MovieClip, contrast:Object):void{
            var tg:TweensyGroup = new TweensyGroup();
            tg.contrastTo(mc, contrast.value, 0.1);
        }
        
        private function brightnessTo(mc:MovieClip, brightness:Object):void{
            var tg:TweensyGroup = new TweensyGroup();
            tg.brightnessTo(mc, brightness.value, 0.1);
        }
        
        private function gen_button(label:String, handler:Function):Sprite{
            var f:TextFormat = new TextFormat();
            f.size = 15;
            f.color = 0x000000;
            var t:TextField = new TextField();
            t.defaultTextFormat = f;
            t.width = 80;
            t.autoSize = TextFieldAutoSize.CENTER;
            t.text = label;
            t.mouseEnabled = false;
            
            var b:Sprite = new Sprite();
            b.graphics.lineStyle(2, 0x303030);
            b.graphics.beginFill(0xf0f0f0);
            b.graphics.drawRoundRect(0, 0, 80, 20, 10, 10);
            b.addEventListener(MouseEvent.CLICK, handler);
            b.addChild(t);
            
            return b;
        }
    }
}