web-dev-qa-db-ja.com

ビットマップファイルをBitmapDataオブジェクトにどのようにロードしますか?

Flashでは、 BitmapData オブジェクトを使用してビットマップをRAMに格納できます。後で、 beginBitmapFill() メソッドを使用してビットマップをMovieClipに描画できます。

外部ビットマップファイル(.jpg)をBitmapDataオブジェクトにどのようにロードしますか?

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

16
Robinicks

AS3コードでPNGを読み込み、そのビットマップデータを「取得」する

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;
}
42
Cotton

綿による最初の投稿を参照してください。

実際には各画像はビットマップなので、必要なのは

bitmapData = event.target.content.bitmapData  

の代わりに

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
9
will

綿と意志から取って、これはそれがロードされた後にビットマップを表示します:

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);
}

外部ファイル(.jpg)をMovieClipにロードし、ロードされるのを待つ必要があります。

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

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

myBitmap.draw( myMC)

Flash8でのImageAPIの紹介 を参照してください。

5
Robinicks

GUIフェーズ:
イメージをライブラリにロードします(ファイル->インポート->ライブラリ)。
ライブラリブラウザで右クリックして[プロパティ]をクリックすると、X xYピクセルであることがわかります。
[詳細]タブを開きます。
「アクションスクリプトのエクスポート」を選択します。 myImgとしてエクスポート

Actionscriptフェーズ:

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