Load Image / Invert Filter

by bradsedito forked from Load Image (diff: 2)
♥0 | Line 36 | Modified 2012-12-02 02:08:33 | MIT License
play

ActionScript3 source code

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

// forked from Zahurdias.Calimero's Load Image
package  
{
    import flash.display.*;
    import flash.events.*;
    import flash.net.URLRequest;

    public class Main extends Sprite
    {
        private var myImgLoader:Loader = new Loader();
        private var fileRequest:URLRequest = new URLRequest("http://twimg0-a.akamaihd.net/profile_images/2757256304/0bc027f50a21e8c89586f5b516923e5a.jpeg");
        private var _inverseMask:Sprite;
 
        public function Main() 
        {
            Wonderfl.capture_delay(3);
            myImgLoader.load(fileRequest);
            //myImgLoader.blendMode = BlendMode.NORMAL;
            
            // create the inverse mask and place it inside the container with the LAYER blending mode

            _inverseMask = new Sprite();
            _inverseMask.blendMode = BlendMode.INVERT; // that's the trick.

            // draw a circle for the mask

            _inverseMask.graphics.beginFill(0, 1); 
            _inverseMask.graphics.drawCircle(0, 0, 80);
            _inverseMask.graphics.endFill();

            // place the mask in the middle by default

            _inverseMask.x = stage.stageWidth * 0.5;
            _inverseMask.y = stage.stageHeight * 0.5 - 40;

            _inverseMask.addEventListener(MouseEvent.MOUSE_DOWN, startDragMask);
            _inverseMask.addEventListener(MouseEvent.MOUSE_UP, stopDragMask);

            addChild( myImgLoader );
            addChild(_inverseMask);
        }
        
        private function startDragMask(e:MouseEvent):void 
        {
            _inverseMask.startDrag(false, stage.getBounds(stage));
        }

        private function stopDragMask(e:MouseEvent):void 
        {
            _inverseMask.stopDrag();
        }
    }
}