パッケージflash.display
クラスpublic class Bitmap
継承Bitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Bitmap クラスはビットマップイメージを表す表示オブジェクトを表します。これらは flash.display.Loader クラスによってロードするイメージか、Bitmap() コンストラクタによって作成するイメージです。

Bitmap() コンストラクタを使用すると、BitmapData オブジェクトへの参照を含んだビットマップオブジェクトを作成できます。ビットマップオブジェクトの作成後、親 DisplayObjectContainer インスタンスの addChild() メソッドまたは addChildAt() メソッドを使用して表示リスト上にビットマップを配置できます。

Bitmap オブジェクトの BitmapData への参照は、translation プロパティまたは rotation プロパティと関係なく、複数の Bitmap オブジェクトで共有できます。作成した複数の Bitmap オブジェクトで同じ BitmapData オブジェクトを参照することができるため、各表示オブジェクトインスタンスに関する BitmapData オブジェクトのメモリのオーバーヘッドを避けつつ、複数の表示オブジェクトで同一の複雑な BitmapData オブジェクトを使用することができます。

Bitmap オブジェクトを使用して BitmapData オブジェクトを画面に描画するには、ベクターレンダラをビットマップ塗りつぶしのシェイプとして使用するか、高速なピクセルコピールーチンを使用します。ピクセルコピールーチンはベクターレンダラよりも高速ですが、使用する際には、Bitmap オブジェクトに以下の特定の条件が適用されます。

ロードする Bitmap オブジェクトの置かれているドメインが、イメージのロードに使用する Loader オブジェクトのドメインと異なる場合は、Loader オブジェクトのドメインへのアクセスを許可するドメイン間ポリシーファイルが用意されていないと、そのドメイン内のスクリプトは Bitmap オブジェクトやそのプロパティとメソッドにアクセスできません。詳細については、以下を参照してください。

メモ : Bitmap クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。しかし、ビットマップオブジェクトを格納した表示オブジェクトコンテナの addEventListener() メソッドを使用できます。

例を表示

関連項目

flash.display.Loader
flash.display.BitmapData
コア表示クラス
ビットマップの操作の基礎


パブリック プロパティ
 プロパティ定義元
 InheritedaccessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
 Inheritedalpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
  bitmapData : BitmapData
BitmapData オブジェクトが参照されます。
Bitmap
 InheritedblendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
 InheritedcacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedfilters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
 Inheritedheight : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
 InheritedloaderInfo : LoaderInfo
[read-only] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
 InheritedmouseX : Number
[read-only] マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
[read-only] マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
  pixelSnapping : String
Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを指定します。
Bitmap
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
[read-only] ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
  smoothing : Boolean
ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。
Bitmap
 Inheritedstage : Stage
[read-only] 表示オブジェクトのステージです。
DisplayObject
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
DisplayObject
パブリック メソッド
 メソッド定義元
  
Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
指定された BitmapData オブジェクトを参照するように Bitmap オブジェクトを初期化します。
Bitmap
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
 Inherited
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
DisplayObject
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited 表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
 Inherited 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 Inherited 表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
プロパティの詳細
bitmapDataプロパティ
bitmapData:BitmapData  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

BitmapData オブジェクトが参照されます。


実装
    public function get bitmapData():BitmapData
    public function set bitmapData(value:BitmapData):void
pixelSnappingプロパティ 
pixelSnapping:String  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを指定します。PixelSnapping クラスには正の値が入ります。


実装
    public function get pixelSnapping():String
    public function set pixelSnapping(value:String):void
smoothingプロパティ 
smoothing:Boolean  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。true である場合、ビットマップは拡大 / 縮小時にスムージングされます。false である場合、ビットマップは拡大 / 縮小時にスムージングされません。


実装
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void
コンストラクタの詳細
Bitmap()コンストラクタ
public function Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

指定された BitmapData オブジェクトを参照するように Bitmap オブジェクトを初期化します。

パラメータ
bitmapData:BitmapData (default = null) — BitmapData オブジェクトが参照されます。
 
pixelSnapping:String (default = "auto") — Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを示します。
 
smoothing:Boolean (default = false) — ビットマップを拡大 / 縮小するときにスムージングするかどうかを示します。たとえば、次の例は同じビットマップを 3 倍に拡大した場合に、smoothingfalse に設定したもの (左) と true に設定したもの (右) です。

例の使用法
BitmapExample.as

次の例では、BitmapExample クラスを使用して、"Image.gif" イメージをデフォルトの位置 (x = 0、y = 0) にある DisplayObject にロードします。"Image.gif" のコピーを下のイメージの右に配置します。このコピーでは、threshold() メソッドを使用するテストに合格したピクセルに新しい色が適用されています。これを行うには、以下の手順を実行します。
  1. プロパティ url を作成します。これはイメージファイルの場所と名前です。
  2. クラスコンストラクタが configureAssets() メソッドを呼び出します。続いて、このメソッドでは completeHandler() メソッドを呼び出します。
  3. configureAssets() が Loader オブジェクトを作成します。これは、completeHandler() がイメージ操作を完了したときに送出されるイベントリスナーをインスタンス化します。
  4. 次に、buildChild() が URLRequest オブジェクト request の新しいインスタンスを作成しますが、その前に、ファイル名と場所が分かるように url を渡します。
  5. request オブジェクトが loader.load() メソッドに渡されます。このメソッドは、イメージを表示オブジェクト経由でメモリにロードします。
  6. 次にイメージが表示リストに配置され、イメージは直ちに画面の座標 x = 0、y = 0 に表示されます。
  7. 続いて、completeHandler() メソッドで、次の処理が実行されます。
    1. 2 番目の Loader オブジェクトと Bitmap オブジェクトを作成します。Bitmap オブジェクトは、この Loader オブジェクトで
    2. 2 番目の Bitmap オブジェクトである duplicate を作成します。これは、duplicateImage() メソッドを呼び出し、元のイメージを複製します。
    3. BitmapData オブジェクトを作成します。これは、duplicate オブジェクトの BitmapData オブジェクトに割り当てられます。
    4. 元のイメージと同じ座標、幅、高さで初期化された新しい Rectangle オブジェクトを作成します。
    5. 新しい Point オブジェクトを作成します。デフォルトでは x = 0、y = 0 に作成されます。
    6. 次に示す変数を作成します。
      • operation : しきい値が元の値以上である場合に、新しい色を適用します。
      • threshold : 各ピクセルの比較対象の値です。アルファ 0xCC の明るい灰色に設定されます。
      • color : しきい値のテストに合格したピクセルに設定する色です。この場合は黄色です。
      • mask: 正反対の色に設定します。この場合は透明色の青色です。
      • copySource : false に設定されます。これは、しきい値を満たさなかった場合にピクセル値がコピーされないことを示します。しきい値のテストに合格したピクセルだけが変更されるため、この値に意味はありません。
    7. 上記の変数を使用して threshold() メソッドを呼び出します。結果のしきい値の等式は、if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00 のようになります。

メモ :


package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;

    public class BitmapExample extends Sprite {
        private var url:String = "Image.gif";
        private var size:uint = 80;

        public function BitmapExample() {
            configureAssets();
        }

        private function configureAssets():void {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

            var request:URLRequest = new URLRequest(url);
            loader.x = size * numChildren;
            loader.load(request);
            addChild(loader);
        }

        private function duplicateImage(original:Bitmap):Bitmap {
            var image:Bitmap = new Bitmap(original.bitmapData.clone());
            image.x = size * numChildren;
            addChild(image);
            return image;
        }

        private function completeHandler(event:Event):void {
            var loader:Loader = Loader(event.target.loader);
            var image:Bitmap = Bitmap(loader.content);

            var duplicate:Bitmap = duplicateImage(image);
            var bitmapData:BitmapData = duplicate.bitmapData;
            var sourceRect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height);
            var destPoint:Point = new Point();
            var operation:String = ">=";
            var threshold:uint = 0xCCCCCCCC;
            var color:uint = 0xFFFFFF00;
            var mask:uint = 0x000000FF;
            var copySource:Boolean = true;

            bitmapData.threshold(bitmapData,
                                 sourceRect,
                                 destPoint,
                                 operation,
                                 threshold,
                                 color,
                                 mask,
                                 copySource);
        }
        
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
        }
    }
}




 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Bitmap.html