Runtime Bitmap
package { import flash.net.URLRequest; import flash.display.BitmapData; import flash.display.Bitmap; import flash.display.Sprite; import flash.display.Loader; import flash.geom.Point; import flash.geom.Rectangle; import flash.events.Event; public class Main extends Sprite { private var _loaderA:Loader = new Loader(); private var _loaderB:Loader = new Loader(); private var _loadCount:Number; public function Main () { _loadCount = 0; _loaderA.load(new URLRequest("http://www.java2s.com/image1.jpg")); _loaderA.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); _loaderB.load(new URLRequest("http://www.java2s.com/image2.jpg")); _loaderB.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler); } private function completeHandler(event:Event):void { _loadCount++; if(_loadCount == 2) { mergeImages(); } } private function mergeImages():void { var w:Number = _loaderA.width; var h:Number = _loaderA.height; var bitmapDataA:BitmapData = new BitmapData(w, h); bitmapDataA.draw(_loaderA); var bitmapDataB:BitmapData = new BitmapData(w, h); bitmapDataB.draw(_loaderB); bitmapDataA.merge(bitmapDataB, new Rectangle(0, 0, w, h), new Point(0, 0), 0, 256, 0, 100); var bitmap:Bitmap = new Bitmap(bitmapDataA); addChild(bitmap); } } }