| パッケージ | flash.display |
| public class Bitmap | |
| 継承 | Bitmap DisplayObject EventDispatcher Object |
| Subclasses | FlexBitmap |
Bitmap() コンストラクタによって作成するイメージです。
Bitmap() コンストラクタを使用すると、BitmapData オブジェクトへの参照を含んだビットマップオブジェクトを作成できます。ビットマップオブジェクトの作成後、親 DisplayObjectContainer インスタンスの addChild() メソッドまたは addChildAt() メソッドを使用して表示リスト上にビットマップを配置できます。
ビットマップオブジェクトの BitmapData への参照は、translation プロパティまたは rotation プロパティと関係なく、複数のビットマップオブジェクトで共有できます。作成した複数のビットマップオブジェクトで同じ BitmapData オブジェクトを参照することができるため、各表示オブジェクトインスタンスに関する BitmapData オブジェクトのメモリのオーバーヘッドを避けつつ、複数の表示オブジェクトで同一の複雑な BitmapData オブジェクトを使用することができます。
ビットマップオブジェクトを使用して BitmapData オブジェクトを画面に描画するには、ベクターレンダラをビットマップ塗りつぶしのシェイプとして使用するか、高速なピクセルコピールーチンを使用します。ピクセルコピールーチンはベクターレンダラよりも高速ですが、使用する際には、ビットマップオブジェクトに以下の特定の条件が適用されます。
setMask() メソッドでクリッピングは行われません。 ロードするビットマップオブジェクトの置かれているドメインが、イメージのロードに使用する Loader オブジェクトのドメインと異なる場合は、Loader オブジェクトのドメインへのアクセスを許可するドメイン間ポリシーファイルが用意されていないと、そのドメイン内のスクリプトはビットマップオブジェクトやそのプロパティとメソッドにアクセスできません。詳細については、次のトピックを参照してください。
メモ: Bitmap クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。しかし、ビットマップオブジェクトを格納した表示オブジェクトコンテナの addEventListener() メソッドを使用できます。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
| DisplayObject | |
![]() | alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
| DisplayObject | |
| bitmapData : BitmapData
BitmapData オブジェクトが参照されます。
| Bitmap | ||
![]() | blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
| DisplayObject | |
![]() | cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。 | DisplayObject | |
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
| DisplayObject | |
![]() | height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
| DisplayObject | |
![]() | loaderInfo : LoaderInfo
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
| DisplayObject | |
![]() | mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された
mask オブジェクトによってマスクされます。 | DisplayObject | |
![]() | mouseX : Number
マウス位置の x 座標を示します (ピクセル単位)。
| DisplayObject | |
![]() | mouseY : Number
マウス位置の y 座標を示します (ピクセル単位)。
| DisplayObject | |
![]() | name : String
DisplayObject のインスタンス名を示します。
| DisplayObject | |
![]() | opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
| DisplayObject | |
![]() | parent : DisplayObjectContainer
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
| DisplayObject | |
| pixelSnapping : String
ビットマップオブジェクトが最も近いピクセルに吸着されるかどうかを指定します。
| Bitmap | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
![]() | root : DisplayObject
ロードされた SWF ファイル内の表示オブジェクトの場合、
root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | |
![]() | rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
| DisplayObject | |
![]() | scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
| DisplayObject | |
![]() | scaleX : Number
基準点から適用されるオブジェクトの水平スケール (
percentage) を示します。 | DisplayObject | |
![]() | scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (
percentage) を示します。 | DisplayObject | |
![]() | scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界。
| DisplayObject | |
| smoothing : Boolean
ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。
| Bitmap | ||
![]() | stage : Stage
表示オブジェクトのステージ。
| DisplayObject | |
![]() | transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
| DisplayObject | |
![]() | visible : Boolean
表示オブジェクトが可視かどうかを示します。
| DisplayObject | |
![]() | width : Number
表示オブジェクトの幅を示します (ピクセル単位)。
| DisplayObject | |
![]() | x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
| DisplayObject | |
![]() | y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
| DisplayObject | |
| メソッド | 定義 | ||
|---|---|---|---|
| Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
指定された BitmapData オブジェクトを参照するようにビットマップオブジェクトを初期化します。
| Bitmap | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | |
![]() | getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、
targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | |
![]() | globalToLocal(point:Point):Point
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。 | DisplayObject | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | hitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、
obj 表示オブジェクトと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、
x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | localToGlobal(point:Point):Point
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。 | DisplayObject | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| bitmapData | プロパティ |
bitmapData:BitmapData [read-write]BitmapData オブジェクトが参照されます。
実装 public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
| pixelSnapping | プロパティ |
pixelSnapping:String [read-write]ビットマップオブジェクトが最も近いピクセルに吸着されるかどうかを指定します。PixelSnapping クラスには正の値が入ります。
PixelSnapping.NEVERピクセルは吸着されません。PixelSnapping.ALWAYSイメージは、変換とは関係なく常に最も近いピクセルに吸着されます。PixelSnapping.AUTOイメージが回転または傾斜なしで描画され、99.9% から 100.1% の倍率で描画される場合、イメージは最も近いピクセルに吸着されます。これらの条件が満たされる場合、ビットマップイメージは 100% の倍率で描画され、最も近いピクセルに吸着されます。内部的には、この値によって、ベクターレンダラを使ってイメージが可能な限り高速に描画されます。 public function get pixelSnapping():String
public function set pixelSnapping(value:String):void
| smoothing | プロパティ |
smoothing:Boolean [read-write]
ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。true である場合、ビットマップは拡大 / 縮小時にスムージングされます。false である場合、ビットマップは拡大 / 縮小時にスムージングされません。
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
| Bitmap | () | コンストラクタ |
public 関数 Bitmap(bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)指定された BitmapData オブジェクトを参照するようにビットマップオブジェクトを初期化します。
パラメータbitmapData:BitmapData (default = null) — BitmapData オブジェクトが参照されます。
|
|||
pixelSnapping:String (default = "auto") — ビットマップオブジェクトが最も近いピクセルに吸着されるかどうかを示します。
|
|||
smoothing:Boolean (default = false) — ビットマップを拡大 / 縮小するときにスムージングするかどうかを示します。たとえば、次の例は同じビットマップを 3 倍に拡大した場合に、smoothing を false に設定したもの (左) と true に設定したもの (右) です。
|
threshold() メソッドを使用したテストに合格したピクセルに新しい色が適用されます。
ここでは以下の手順を実行します。
url を作成します。これはイメージファイルの場所と名前です。configureAssets() メソッドを呼び出します。続いて、このメソッドでは
completeHandler() メソッドを経由して提供される情報が出力されます。configureAssets() が Loader オブジェクトを作成します。
これは、completeHandler() がイメージの操作を完了したときに送出されるイベントリスナーをインスタンス化します。buildChild() メソッドが URLRequest オブジェクト
の新しいインスタンス request を作成して、ファイル名と場所を認識させるために url を渡します。request オブジェクトが loader.load() メソッドに渡されます。このメソッドにより、
イメージが表示オブジェクトを経由してメモリにロードされます。completeHandler() メソッドで、次の処理が実行されます。duplicate を作成し、
duplicateImage() メソッドを呼び出して、元のイメージの複製を作成します。 duplicate オブジェクトの
BitmapData オブジェクトに割り当てます。operation: しきい値が元の値以上である場合に、
新しい色を適用します。threshold: 各ピクセルの比較対象である値は、
アルファ 0xCC の明るい灰色に設定されます。 color: しきい値のテストに合格したピクセルに設定される色です。
この場合は黄色です。mask: 正反対の色に設定します。この場合は透明色の青色です。copySource: false に設定されます。これは、しきい値を満たさなかった場合に、
ピクセル値がコピーされないことを示します。イメージが複製され、
しきい値のテストに合格したピクセルだけが変更されるため、この値に意味はありません。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);
}
}
}