Flash Rendering Bug

by Abarrow
♥0 | Line 62 | Modified 2010-08-18 00:44:07 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.*;
    import flash.events.*;
    import flash.filters.*;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;
    import flash.system.LoaderContext;
    import flash.text.TextField;


    public class PixelBitmap extends Sprite {
        
        private const _url:String = "http://i.imgur.com/8sMZH.jpg";   


        private var _loader:Loader = new Loader();   
        
                   
        public function PixelBitmap()
        {

            configureAssets();
        }

        private function configureAssets():void
        {
            
            _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);

            var request:URLRequest = new URLRequest(_url);
            _loader.x = 0;
            _loader.y = 0;
            _loader.load(request, new LoaderContext(true));
            _loader.name = 'test';                   
                        
        }

        private function completeHandler(event:Event):void 
        {          
             var image:Bitmap = Bitmap(LoaderInfo(event.target).content);
             var bit:BitmapData=image.bitmapData;
             var ba:Sprite=new Sprite();
             for(var n:int=0;n<bit.height;n++){
                 var str:int=0;
                 var len:int=0;
                 var col:int=0;
                 for(var en:int=0;en<bit.width;en++){
                     if(len==0){
                         len=1;
                         str=en;
                         col=bit.getPixel(en,n);
                     }else{
                         if(col==bit.getPixel(en,n)){
                             len++;
                         }else{
                             ba.graphics.lineStyle(1,col,1,false,'normal','square');
                             ba.graphics.moveTo(str,n);
                             ba.graphics.lineTo(str+len,n);
                             len=0;
                             str=0;
                             col=0;
                         }
                     }
                 }
             }
             ba.y=image.height-100;
             var ra:Sprite=new Sprite();
             ra.addChild(ba);
             ra.addChild(image);
             addChild(ra);
             ra.y=-ra.height/2+stage.stageHeight/2-50;
         }
    }
}

Forked