Bitmap および BitmapData クラス

ビットマップイメージを操作するための主な ActionScript 3.0 クラスには、画面上にビットマップイメージを表示する Bitmap クラスと、ビットマップの生イメージデータにアクセスし、操作するための BitmapData クラスがあります。

サブトピック

Bitmap クラスについて
ピクセルの吸着とスムージング
BitmapData クラスについて

Bitmap クラスについて

DisplayObject クラスのサブクラスである Bitmap クラスは、ビットマップイメージを表示するために使用される主な ActionScript 3.0 クラスです。これらのイメージは、flash.display.Loader クラスによって Flash にロードされているか、Bitmap() コンストラクタによって動的に作成されています。外部ソースからイメージをロードする場合、Bitmap オブジェクトは GIF、JPEG、または PNG 形式のイメージしか使用できません。Bitmap インスタンスは BitmapData オブジェクトのラッパーとして見なされ、ステージにレンダリングする必要があります。Bitmap インスタンスは表示オブジェクトなので、表示オブジェクトのすべての性質と機能を活用して Bitmap インスタンスを操作することもできます。表示オブジェクトの操作方法の詳細については、表示のプログラミングを参照してください。

ピクセルの吸着とスムージング

すべての表示オブジェクトに共通する機能に加え、Bitmap クラスはビットマップイメージに特有の機能も提供します。

Flash オーサリングツールのピクセルにスナップする機能と同様、Bitmap クラスの pixelSnapping プロパティは、Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを指定します。このプロパティは、PixelSnapping クラスで定義されている 3 つの定数、ALWAYSAUTONEVER のいずれかを受け入れます。

ピクセルの吸着を適用するシンタックスは次のとおりです。

myBitmap.pixelSnapping = PixelSnapping.ALWAYS;

ビットマップイメージが拡大 / 縮小されると、ぼやけたり歪んだりすることが多々あります。この歪みを抑えるため、BitmapData クラスの smoothing プロパティを使用します。このブール型プロパティを true に設定すると、拡大 / 縮小されたイメージ内のピクセルをスムージングまたはアンチエイリアス化します。これにより、イメージをより鮮明に、より自然に表現できるようになります。

BitmapData クラスについて

BitmapData クラスは flash.display パッケージにあり、ロードされたビットマップイメージや動的に作成されたビットマップイメージ内のピクセルのスナップショットのようなものです。このスナップショットは、オブジェクト内のピクセルデータの配列として表されます。BitmapData クラスには、ピクセルデータの作成と操作に便利なビルトインメソッドもあります。

BitmapData オブジェクトをインスタンス化するには、次のコードを使用します。

var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit);

width および height パラメータはビットマップのサイズを指定し、そのいずれも最大値は 2880 ピクセルです。transparent パラメータは、ビットマップデータにアルファチャンネルが含まれるかどうかを指定します。含まれる場合は true、含まれない場合は false です。fillColor パラメータは、背景色を指定する 32 ビットのカラー値です。true に設定されている場合は、透明度の値も指定します。次の例では、透明度が 50% に設定されたオレンジ色の背景の BitmapData オブジェクトを作成します。

var myBitmap:BitmapData = new BitmapData(150, 150, true, 0x80FF3300);

新たに作成された BitmapData オブジェクトを画面にレンダリングするには、このオブジェクトを Bitmap インスタンスに割り当てるか、ラップします。そのためには、Bitmap オブジェクトのコストラクタのパラメータとして BitmapData オブジェクトを渡すか、BitmapData オブジェクトを既存の Bitmap インスタンスの bitmapData プロパティに割り当てます。また、Bitmap インスタンスを含む表示オブジェクトのコンテナの addChild() または addChildAt() メソッドを呼び出し、Bitmap インスタンスを表示リストに追加する必要もあります。表示リストの操作方法の詳細については、表示リストへの表示オブジェクトの追加を参照してください。

次の例では、赤く塗りつぶした BitmapData オブジェクトを作成し、Bitmap インスタンスに表示します。

var myBitmapDataObject:BitmapData = new BitmapData(150, 150, false, 0xFF0000);
var myImage:Bitmap = new Bitmap(myBitmapDataObject);
addChild(myImage);

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000243.html