views:

3088

answers:

3

In Flash, the BitmapData object can be used to store bitmaps in RAM, you can later draw them to a MovieClip using the beginBitmapFill() method.

How do you load an external bitmap file (.jpg) into a BitmapData object?

Even AS3 code would be helpful.

Thanks.

+3  A: 

You have to load the external file (.jpg) into a MovieClip and wait for it to load.

Then take a snapshot of the MovieClip that contains the external file, into your BitmapData object.

myBitmap = new BitmapData(myMC._width, myMC._height,true,0x00FFFFFF)

myBitmap.draw( myMC)


See Introducing the Image API in Flash 8.

Jenko
+4  A: 

AS3 code to load a PNG and "get" its bitmapData

var bitmapData:BitmapData;

var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    loader.load(new URLRequest("../lib/img.png"));

function onComplete (event:Event):void
{
    bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
}
Cotton
+1  A: 

GUI phase:
Load the image into the library (file -> import -> library).
In the library browser, right-click and hit "properties", notice that it is X by Y pixels.
Open up the "advanced" tab.
Select "export for Action Script". Export as myImg

Actionscript phase:

import flash.display.BitmapData;
import flash.display.Bitmap; //needed?
..........
var myPic:BitmapData = new myImg(X,Y);
fastsolve