Creating BitmapData object of jpg

Hi,

I am trying to create a BitmapData object of a jpg that is loaded into a movieClip, so that I can then remove the jpg and have just the BitmapData of the image to manipulate. I have the original image loading into my temporary MC without any problems…and am using a listener to check to make sure that the image has been fully loaded before it moves onto creating an empty movie clip for the BitmapData… but for some reason the BitmapData isn’t working as nothing shows up in my holderMC… and it says the width of the holderMC is 0 when it should be something liek 367 for the ‘surf.jpg’ test image I am using. My code is below…I must be missing something stupid…can anyone spot what’s wrong? Thanks! - b.

import flash.display.BitmapData;
stop();

_root.createEmptyMovieClip("tempMC", 1, {_alpha:0});

//set up MovieClipLoader
    var theLoader:MovieClipLoader = new MovieClipLoader();
    var theListener:Object = new Object();
    theLoader.addListener(theListener);

    theListener.onLoadStart = function(mc:MovieClip){
        trace("started");
    }
    
    theListener.onLoadProgress = function(targetMC, lBytes, tBytes) {
        trace("% "+Math.round((lBytes/tBytes)*100));
    }

    //init function as soon as image is loaded and ready to receive events
    theListener.onLoadComplete = function(mc:MovieClip) {
        trace("image loading into TempMC is complete!");
        
        _root.createEmptyMovieClip("holderMC", _root.getNextHighestDepth());
        bMap = new BitmapData(mc._width, mc._height);
        bMap.draw(mc);
        _root.holderMC.attachBitmap(bMap, _root.getNextHighestDepth());
        
        _root.tempMC.removeMovieClip();
    }
    
theLoader.loadClip("surf.jpg", _root.tempMC);