topical media & game development

talk show tell print

manual-bitmapdata.ax

manual-bitmapdata.ax (swf ) [ flash ] flex


  package {
      import flash.display.Bitmap;
      import flash.display.BitmapData;
      import flash.display.Loader;
      import flash.display.Sprite;
      import flash.events.*;
      import flash.geom.Point;
      import flash.geom.Rectangle;
      import flash.net.URLRequest;
  
      public class manual-bitmapdata extends Sprite {
          private var url:String = "@logo.jpg";
          private var size:uint = 80;
  
          public function manual-bitmapdata() {
              configureAssets();
          }
  
          private function configureAssets():void {
              var loader:Loader = new Loader();
              loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
              loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  
              var request:URLRequest = new URLRequest(url);
              loader.x = size * numChildren;
              loader.load(request);
              addChild(loader);
          }
  
          private function duplicateImage(original:Bitmap):Bitmap {
              var image:Bitmap = new Bitmap(original.bitmapData.clone());
              image.x = size * numChildren;
              addChild(image);
              return image;
          }
  
          private function completeHandler(event:Event):void {
              var loader:Loader = Loader(event.target.loader);
              var image:Bitmap = Bitmap(loader.content);
  
              var duplicate:Bitmap = duplicateImage(image);
              var bitmapData:BitmapData = duplicate.bitmapData;
              var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height);
              var destPoint:Point = new Point();
              var operation:String = ">=";
              var threshold:uint = 0xCCCCCCCC;
              var color:uint = 0xFFFFFF00;
              var mask:uint = 0x000000FF;
              var copySource:Boolean = true;
  
              bitmapData.threshold(bitmapData,
                                   sourceRect,
                                   destPoint,
                                   operation,
                                   threshold,
                                   color,
                                   mask,
                                   copySource);
          }
          
          private function ioErrorHandler(event:IOErrorEvent):void {
              trace("Unable to load image: " + url);
          }
      }
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.