パッケージ | flash.display |
クラス | public class Bitmap |
継承 | Bitmap DisplayObject EventDispatcher Object |
サブクラス | FlexBitmap |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap()
コンストラクターによって作成するイメージです。
Bitmap()
コンストラクターを使用すると、BitmapData オブジェクトへの参照を含んだビットマップオブジェクトを作成できます。ビットマップオブジェクトの作成後、親 DisplayObjectContainer インスタンスの addChild()
メソッドまたは addChildAt()
メソッドを使用して表示リスト上にビットマップを配置できます。
Bitmap オブジェクトの BitmapData への参照は、translation プロパティまたは rotation プロパティと関係なく、複数の Bitmap オブジェクトで共有できます。作成した複数のビットマップオブジェクトで同じ BitmapData オブジェクトを参照することができるため、各表示オブジェクトインスタンスに関する BitmapData オブジェクトのメモリのオーバーヘッドを避けつつ、複数の表示オブジェクトで同一の複雑な BitmapData オブジェクトを使用することができます。
Bitmap オブジェクトを使用して BitmapData オブジェクトを画面に描画するには、ベクターレンダラーをビットマップ塗りつぶしのシェイプとして使用するか、高速なピクセルコピールーチンを使用します。ピクセルコピールーチンはベクターレンダラーよりも高速ですが、使用する際には、ビットマップオブジェクトに以下の特定の条件が適用されます。
- ビットマップオブジェクトには、伸縮、回転、傾斜は適用されません。
- ビットマップオブジェクトにはカラー変換は適用されません。
- ビットマップオブジェクトにはブレンドモードは適用されません。
- マスクレイヤーまたは
setMask()
メソッドでクリッピングは行われません。 - イメージ自体はマスクできません。
- 宛先の座標は全体がピクセル境界内になければなりません。
ロードする Bitmap オブジェクトの置かれているドメインが、イメージのロードに使用する Loader オブジェクトのドメインと異なる場合は、Loader オブジェクトのドメインへのアクセスを許可する URL ポリシーファイルが用意されていないと、そのドメイン内のスクリプトは Bitmap オブジェクトやそのプロパティとメソッドにアクセスできません。詳細については、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
注意:Bitmap クラスは InteractiveObject クラスのサブクラスではないため、マウスイベントを送出できません。しかし、ビットマップオブジェクトを格納した表示オブジェクトコンテナの addEventListener()
メソッドを使用できます。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | ||
alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | ||
bitmapData : BitmapData
BitmapData オブジェクトが参照されます。 | Bitmap | ||
blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | ||
blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダーを設定します。 | DisplayObject | ||
cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash ランタイムにキャッシュされます。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null 以外の場合、この Matrix オブジェクトは、cacheAsBitmap を true に設定したときの表示オブジェクトのレンダリング方法を定義します。 | DisplayObject | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
filters : Array
表示オブジェクトに現在関連付けられている各フィルターオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | ||
height : Number
表示オブジェクトの高さを示します(ピクセル単位)。 | DisplayObject | ||
loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | ||
mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | ||
metaData : Object
メタデータが PlaceObject4 タグによってこの DisplayObject のインスタンスと一緒に SWF ファイル内に保存されている場合に、DisplayObject インスタンスのメタデータオブジェクトを取得します。 | DisplayObject | ||
mouseX : Number [読み取り専用]
マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。 | DisplayObject | ||
mouseY : Number [読み取り専用]
マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。 | DisplayObject | ||
name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | ||
opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | ||
parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | ||
pixelSnapping : String
Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを指定します。 | Bitmap | ||
root : DisplayObject [読み取り専用]
読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | ||
rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | ||
rotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | ||
scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。 | DisplayObject | ||
scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | ||
scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | ||
smoothing : Boolean
ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。 | Bitmap | ||
stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | ||
transform : flash.geom:Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。 | DisplayObject | ||
visible : Boolean
表示オブジェクトが可視かどうかを示します。 | DisplayObject | ||
width : Number
表示オブジェクトの幅を示します(ピクセル単位)。 | DisplayObject | ||
x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。 | DisplayObject | ||
y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。 | DisplayObject | ||
z : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | DisplayObject |
メソッド | 定義元 | ||
---|---|---|---|
指定された BitmapData オブジェクトを参照するようにビットマップオブジェクトを初期化します。 | Bitmap | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | ||
シェイプ上の線を除き、targetCoordinateSpace パラメーターによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | ||
point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | ||
表示オブジェクトを評価して、x および y パラメーターで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | ||
point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。 | DisplayObject | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
bitmapData | プロパティ |
bitmapData:BitmapData
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
BitmapData オブジェクトが参照されます。
実装
public function get bitmapData():BitmapData
public function set bitmapData(value:BitmapData):void
pixelSnapping | プロパティ |
pixelSnapping:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bitmap オブジェクトが最も近いピクセルに吸着されるかどうかを指定します。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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ビットマップを拡大 / 縮小するときにスムージングするかどうかを指定します。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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された BitmapData オブジェクトを参照するようにビットマップオブジェクトを初期化します。
パラメーターbitmapData:BitmapData (default = null ) — BitmapData オブジェクトが参照されます。
| |||
pixelSnapping:String (default = "auto ") — ビットマップオブジェクトが最も近いピクセルに吸着されるかどうかを示します。
| |||
smoothing:Boolean (default = false ) — ビットマップを拡大/縮小するときにスムージングするかどうかを示します。例えば、次の例は同じビットマップを 3 倍に拡大した場合に、smoothing を false に設定したもの(左)と true に設定したもの(右)です。
|
例 ( この例の使用方法 )
const IMAGE_URL:String = "http://www.helpexamples.com/flash/images/logo.png"; var ldr:Loader = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete); ldr.load(new URLRequest(IMAGE_URL)); var bitmap1:Bitmap; var bitmap2:Bitmap; var bitmap3:Bitmap; var bitmap4:Bitmap; function ldr_complete(evt:Event):void { var bmp:Bitmap = ldr.content as Bitmap; bitmap1 = new Bitmap(bmp.bitmapData); bitmap1.x = 100; bitmap1.y = 100; bitmap1.rotation = 0; addChild(bitmap1); bitmap2 = new Bitmap(bmp.bitmapData); bitmap2.x = 200; bitmap2.y = 100; bitmap2.rotation = 90; addChild(bitmap2); bitmap3 = new Bitmap(bmp.bitmapData); bitmap3.x = 300; bitmap3.y = 100; bitmap3.rotation = 180; addChild(bitmap3); bitmap4 = new Bitmap(bmp.bitmapData); bitmap4.x = 400; bitmap4.y = 100; bitmap4.rotation = 270; addChild(bitmap4); }
threshold()
メソッドを使用するテストに合格したピクセルに新しい色が適用されています。これを行うには、以下の手順を実行します。
- プロパティ
url
を作成します。これはイメージファイルの場所と名前です。 - クラスコンストラクターが
configureAssets()
メソッドを呼び出します。続いて、このメソッドではcompleteHandler()
メソッドを呼び出します。 configureAssets()
が Loader オブジェクトを作成します。これは、completeHandler()
がイメージ操作を完了したときに送出されるイベントリスナーをインスタンス化します。- 次に、
buildChild()
が URLRequest オブジェクトrequest
の新しいインスタンスを作成しますが、その前に、ファイル名と場所が分かるようにurl
を渡します。 request
オブジェクトがloader.load()
メソッドに渡されます。このメソッドは、イメージを表示オブジェクト経由でメモリにロードします。- 次にイメージが表示リストに配置され、イメージは直ちに画面の座標 x = 0、y = 0 に表示されます。
- 続いて、
completeHandler()
メソッドで、次の処理が実行されます。- 2 番目の Loader オブジェクトと Bitmap オブジェクトを作成します。Bitmap オブジェクトは、この Loader オブジェクトで
- 2 番目の Bitmap オブジェクトである
duplicate
を作成します。これは、duplicateImage()
メソッドを呼び出し、元のイメージを複製します。 - BitmapData オブジェクトを作成します。これは、
duplicate
オブジェクトの BitmapData オブジェクトに割り当てられます。 - 元のイメージと同じ座標、幅、高さで初期化された新しい Rectangle オブジェクトを作成します。
- 新しい Point オブジェクトを作成します。デフォルトでは x = 0、y = 0 に作成されます。
- 次に示す変数を作成します。
operation
:しきい値が元の値以上である場合に、新しい色を適用します。threshold
:各ピクセルの比較対象の値です。アルファ 0xCC の明るい灰色に設定されます。color
:しきい値のテストに合格したピクセルに設定する色です。この場合は黄色です。mask
:正反対の色に設定します。この場合は透明色の青色です。copySource
:false に設定されます。これは、しきい値を満たさなかった場合にピクセル値がコピーされないことを示します。しきい値のテストに合格したピクセルだけが変更されるため、この値に意味はありません。
- 上記の変数を使用して
threshold()
メソッドを呼び出します。結果のしきい値の等式は、if (current pixel Value & 0x000000FF) >= (0xCCCCCCCC & 0x000000FF) then set pixel to 0xFFFFFF00
のようになります。
注意:
- 「ローカルでの再生に関するセキュリティ」を「ローカルファイルにのみアクセスする」に設定して SWF ファイルをコンパイルする必要があります。
- この例では、"Image.gif" という名前のファイルが SWF ファイルと同じディレクトリに配置されている必要があります。
- イメージは、幅が 80 ピクセル以内のものを使用することをお勧めします。
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); } } }
Tue Jun 12 2018, 10:34 AM Z