If you are using a Loader class it's because the content isn't loaded yet.
Somewhere in your code you probably have something like this:
var loader : Loader = new Loader();
loader.load( new URLRequest( "theURL" ) );
stage.addChild( loader );
Now, this all happens in a few milliseconds. The content that you are loading isn't actually loaded yet though. The Loader is on the stage, but the content isn't placed in the loader until it is done loading.
Here's what you need to do.
var loader : Loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onImageLoaded, false, 0, true );
loader.load( new URLRequest( "theURL" ) );
stage.addChild( loader );
Then have this function in the same scope.
function onImageLoaded( evt : Event ) : void
{
loader.contentLoaderInfo.removeEventListener( Event.COMPLETE, onImageLoaded );
}
In that function the image and all its properties will be accessible. It may not be actually drawn to the screen yet, but that will happen on the next frame which is probably within a few milliseconds, but as far as the code is concerned, it's on stage.
Hope that helps!