ASが運営するWebサイトに飛びます

2008年10月23日

ビットマップデータ(BitmapData)をリンゲージで取得する

ビットマップデータ(BitmapData)をリンゲージで取得し書き出すメソッドです。

忘れそうなのでメモしときます。

var source_bd:BitmapData = new firstBmpd(0, 0);

ビットマップデータ(BitmapData)はリンゲージの際に()(引数)を二つ入れる必要があります。

ここでは0,0を入れます。

また、BitmapDataはaddChild()メソッドが効かないのでビットマップに変換する必要があります。

当然ですが、リンゲージに使用するBitmapDataオブジェクトは使い回しが可能です。

BitmapData複数のBitmapDataオブジェクトをBitmapでaddChild()するためにその数だけ、BitmapDataオブジェクトを用意する
必要はありません。一つのBitmapDataをリンゲージし、bitmapで書き出した後、二つめのBitmapDataをリンゲージする際は一つめにリンゲージしたBitmapDataオブジェクトをリンゲージして、二つめのBitmapの書き出しに使用する事ができます。

以下、サンプルスクリプト

//リンゲージで設定した「firstBmpd」ビットマップデータを書き出し
var source_bd:BitmapData = new firstBmpd(0, 0);
//ビットマップオブジェクトに書き出し
var first_bmp:Bitmap = new Bitmap(source_bd);
//表示
addChild(first_bmp);
//リンゲージで設定した「secondBmpd」ビットマップデータを書き出し
source_bd=new secondBmpd(0,0);
//ビットマップオブジェクトに書き出し
var second_bm:Bitmap=new Bitmap(source_bd)
表示
addChild(second_bm);
posted by 神風記 at 00:00| ビットマップ | このブログの読者になる | 更新情報をチェックする

2008年02月11日

Loaderで読み込んだオブジェクトをビットマップデータとして複製する。

Loaderでロードした画像は、一度に二つ以上表示できません。

ですが、BitmapDataとしてなら複製し、同時に二つ以上、表示する事も可能です。

今回は、Loaderでロードした画像をビットマップデータとして書き出すコードを掲載します。

手順

Loaderオブジェクトがファイルをロード

ロード完了後、BitmapData オブジェクトを定義し、widthとheightをLoaderのwidthとheightに設定する

BitmapData.draw(lo)。BitmapData.draw()メソッドの引数にLoader()オブジェクトを代入する

Bitmapオブジェクトを定義。生成時の引数に上記のBitmapDataオブジェクトを代入。

以上の流れでLoaderでロードしたオブジェクトを複製する事ができます。

//画像をロードするLoaderオブジェクト
var my_lo:Loader=new Loader();

my_lo.load(new URLRequest("sample.jpg"));

my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,coHabdler)

addChild(my_lo)

function coHabdler(evt:Event)
{
trace("オブジェクトのロード完了");

//BitmapDataオブジェクトを複製する
var my_bmd:BitmapData = new BitmapData(my_lo.width, my_lo.height);

//BitmapDataにLoaderのデータを複製する
my_bmd.draw(my_lo);

//Bitmapオブジェクトを生成し引数にLoaderデータを複製したBitmapDataを代入

var my_bm:Bitmap = new Bitmap(my_bmd);

//
my_bm.x+=300;

addChild(my_bm);

}
posted by 神風記 at 01:51| ビットマップ | このブログの読者になる | 更新情報をチェックする

2008年01月15日

BitmapData.draw()でMCを複製する。



BitmapData.draw()メソッドでMCを複製します。

BitmapDataオブジェクトを生成。

BitmapData.draw()メソッドの第一引数に複製したいオブジェクトを指定。

Bitmapオブジェクトを定義。

Bitmapオブジェクトをnewで生成する際の第一引数に、BitmapDataオブジェクトを代入。

例題

ステージに配置した「my_mc」を複製する。

BitmapData.draw()メソッドで第一引数に「my_mc」というmcを代入します。BitmapDataオブジェクトにmy_mcが複製されました。
「Bitmap」オブジェクトを生成し、draw()メソッドでMCを代入したBitmapDataオブジェクトを、Bitmapオブジェクトに代入します。

これでステージ上にあるmy_mcが複製されます。


import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;


var myBitmapData2:BitmapData = new BitmapData(200, 40);

myBitmapData2.draw(my_mc);

var bmp2:Bitmap=new Bitmap(myBitmapData2);

this.addChild(bmp2);
posted by 神風記 at 01:49| ビットマップ | このブログの読者になる | 更新情報をチェックする