ActionScript/Carregando imagem
Para carregarmos um arquivo de imagem externo (que pode ser de formato GIF, JPEG, BMP e PNG) nós usamos, além da classe Loader, as classes Bitmap e BitmapData.
[editar] Classes Bitmap e BitmapData
O exemplo a seguir carregará o arquivo GIF screenshot.gif (de 400x300 pixels). Repare que é usado um objeto da classe Loader (chamado carregador) e que é o atributo contentLoaderInfo que recebe os manipuladores de evento (ProgressEvent.PROGRESS para informar o andamento do processo, e Event.COMPLETE para quando o carregamento estiver completo.
É no método emCompleto que será criado um objeto BitmapData, que desenhará usando o resultado do carregamento (bmd.draw(evt.target.content)). Para arrematar, esse objeto BitmapData é passado para o atributo do objeto Bitmap (bmp.bitmapData = bmd). Para exibir, adicionamos ao palco (addChild(bmp)).
Repare também que criamos o objeto Bitmap em um local e o BitmapData dentro do método emCompleto. Esse procedimento não é obrigatório - os objetos podem ser criados no mesmo local, dentro ou fora dos métodos.
var carregador:Loader = new Loader(); var cxLoading:TextField = new TextField(); // Objeto para exibição do bitmap var bmp:Bitmap = new Bitmap(); carregador.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, emProgresso); carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, emCompleto); carregador.load(new URLRequest("screenshot.gif")); addChild(cxLoading); function emCompleto(evt:Event):void { // Como a imagem screenshot.gif tem 400px de largura 300px de altura, definimos em bmp... var bmd:BitmapData = new BitmapData(400, 300); bmd.draw(evt.target.content); // Passando o objeto da classe BitmapData para o atributo correspondente de bmp... bmp.bitmapData = bmd; // Fazendo que seja exibido addChild(bmp); } function emProgresso(evt:ProgressEvent):void { var pct:Number = (evt.bytesLoaded / evt.bytesTotal) * 100; cxLoading.text = "Carregado: " + pct.toFixed() + "%"; }