クラスに Image メンバー変数があります。myImage.source(url) を設定できます。その画像が displayList に追加されると、画像の BitmapData を取得できます。
しかし、ディスプレイに myImage を追加するつもりはありません。Bitmap/BitmapData を作成してから、後の段階でその Image オブジェクトへの参照を使用したいと考えています。
これは基本的に私が試みていることです。
var urlString:String = "file:///C:/assets/images/logo.png";
myImage.source = urlString;
// Only after its added to the stage does it get created as an image so that i can
// access Bitmap data
this.addChild(myImage);
// I want to replicate this in ActionScript, without displaying it at this point
私は多くのことを試しましたが、すべての例は最初に displayList に追加される Image に依存しています。この投稿は、最初のリゾートではなく、最後のリゾートになりました!! :-) ブライアン
アップデート:
最初にローダーで画像をロードする必要がありました。これを回避する方法が見つかりませんでした。
アプリケーション内の画像間で共有するための単一の参照として BitmapData を使用するだけです。ただし、Flash Player 10.1 および AIR 2.5 では、同じ BitmapData を使用する複数の Bitmap オブジェクトの作成に関するパフォーマンスが強化されています ( http://help. adobe.com/en_US/as3/mobile/WS4bebcd66a74275c3-576ba64d124318d7189-7ff9.html
私がしたことの例:
private var myBitmapData:BitmapData;
protected function creationCompleteHandler(event:FlexEvent):void
{
var urlString:String = "file:///C:/assets/images/client_logo.png";
var req:URLRequest = new URLRequest(urlString);
var ldr:Loader = new Loader();
ldr.load(req);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoadComplete);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
}
private function onIOError(event:IOErrorEvent):void{
trace(event.text);
}
private function fileLoadComplete(event:Event):void
{
var ldr:Loader = Loader(event.target.loader);
var bitmap:Bitmap = Bitmap(ldr.content);
myBitmapData = bitmap.bitmapData;
displayImage1.source = new Bitmap(myBitmapData);
displayImage2.source = new Bitmap(myBitmapData);
}