flash on 2012-11-16

by mutantleg
♥0 | Line 89 | Modified 2012-11-16 00:23:43 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        
        public function FlashTest() {
            
           var pic:Bitmap;
           pic = new Bitmap(new BitmapData(64,64,false,0));
           // addChild(pic);
           pic.width = 400;
           pic.height = 400;
            
            stage.quality = "LOW";
            
          var tex:BitmapData;
          tex = new BitmapData(16,16,false,0);
          tex.noise(Math.random()*255);
          //tex.fillRect(tex.rect, 0xFF0000);
          
          graphics.clear();
          graphics.beginBitmapFill(tex);
             graphics.drawEllipse(3,3,56,56);
             //graphics.drawRect(8,8,32,32);
          graphics.endFill();
          pic.bitmapData.draw(this);
          bleedTex(pic.bitmapData);
          
          addChild(pic);
            
            
        }//ctor
        
        public function bleedTex(bm:BitmapData):void
        {
            var i:int;
            var k:int;
            var m:int;
            var w:int;
            var ni:int;
            var nk:int;
            var u:uint;
            ni = bm.height;
            nk = bm.width;
            
            for (i = 0; i < ni; i++)
            {
                w = 0;
                for (k = 0; k < nk; k++)
                {
                
                   u = bm.getPixel(k, i);
                   if (u != 0 && w == 0)
                   {
                       w = 1;
                       for (m = k; m >= 0; m--)
                       {
                         bm.setPixel(m, i, u);  
                       }//nextm
                   }
                   if (w == 1 && u == 0)
                   {
                       u = bm.getPixel(k-1,i);    
                       
                       for (m = k; m < nk; m++)
                       {
                         bm.setPixel(m, i, u);  
                       }
                       
                       break;
                   }
                   
                }//nextk
            }//nexti
            
            for (i = 0; i < ni; i++)
            {
                u = bm.getPixel(1, i);
                if (u == 0) { continue; }
                
                for (k = i; k >= 0; k--)
                {
                 for (m = 0; m < nk; m++)
                 {
                  u = bm.getPixel(m, i);
                  bm.setPixel(m, k, u);   
                 } 
                      
                }
                break;
                            
            }//nexti
            
            for (i = ni; i > 0; i--)
            {
                u = bm.getPixel(1, i);
                if (u == 0) { continue; }
                
                for (k = i; k< ni; k++)
                {
                    for (m=0; m<nk; m++)
                    {
                     u = bm.getPixel(m, i);
                     bm.setPixel(m,k,u);   
                     }    
                    
                }
                break;
                
            }//nexti
            
        }//bleed
        
        
    }//classend
}