2009-03-31 14 views
15

フラッシュでは、BitmapDataオブジェクトを使用してビットマップをRAMに保存できます。後でbeginBitmapFill()メソッドを使用してMovieClipに描画できます。BitmapDataオブジェクトにビットマップファイルをロードするにはどうすればよいですか?

外部ビットマップファイル(.jpg)をBitmapDataオブジェクトに読み込む方法を教えてください。

AS3コードでも役立ちます。

+2

私はコットンの代わりに自分の答えを取った理由は分かりません。 –

+0

私はAS2ソリューションを望んでいたので。コットンはAS3です。 –

答えて

41

AS3コードを参照してください:
ロードライブラリに画像(ファイル - >インポート - >ライブラリ)。
ライブラリブラウザで、右クリックして[プロパティ]をクリックすると、Xピクセルであることがわかります。
「詳細設定」タブを開きます。
「アクションスクリプトのエクスポート」を選択します。

綿による最初のポストに参照のうえ
import flash.display.BitmapData; 
import flash.display.Bitmap; //needed? 
.......... 
var myPic:BitmapData = new myImg(X,Y); 
+0

ちょうどメモ。このためにURLLoaderを使用することはできません – Nande

+0

別のメモ。 Loaderはビットマップにいくつかの情報を追加するので、 'event.target.content'から' name'のような属性を直接変更しようとします。しかし、新しいビットマップを作成するOPは良いです。 – Nande

5

MovieClipに外部ファイル(.jpg)を読み込み、読み込むのを待つ必要があります。

次に、外部ファイルを含むMovieClipのスナップショットをBitmapDataオブジェクトに取り込みます。

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

myBitmap.draw(myMC) 

PNGをロードし、そのの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; 
} 
9

:ActionScriptの段階

myImg

としてエクスポート。

は、実際に各画像は、ビットマップがそうあなたがする必要があるすべては、綿から取っ

bitmapData = event.target.content.bitmapData 

代わりの

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData; 
+0

いいえ、 'LoaderInfo.content'はDisplayObjectです。すべてのビットマップはDisplayObjectですが、すべてのDisplayObjectがビットマップではないため、キャストされます。キャストを削除することで、ActionScript言語の型安全性機能を取り上げています。 – Spookbuster

6

であり、それがロードされた後、これはビットマップが表示されますされます:

import flash.display.Bitmap; 
import flash.display.BitmapData; 

var bitmapData:BitmapData; 
var bmVis:Bitmap; 

var loader:Loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(new URLRequest("put url here")); 

function onComplete (event:Event):void 
{ 
    trace("loaded!"); 
    bitmapData = event.target.content.bitmapData; 
    bmVis = new Bitmap(bitmapData); 
    this.addChild(bmVis); 
} 
関連する問題