パッケージflash.display
public class BitmapData
継承BitmapData Inheritance Object
ImplementsIBitmapDrawable

BitmapData クラスを使用すると、Bitmap オブジェクトのデータ (ピクセル) を処理できます。BitmapData クラスのメソッドを使用して、任意のサイズの透明または不透明のビットマップイメージを作成し、実行時にさまざまな方法で操作することができます。さらに、flash.display.Loader クラスを使ってロードされるビットマップイメージの BitmapData にアクセスすることもできます。

このクラスを使用すると、ビットマップのレンダリング処理を Flash Player 内部の表示更新ルーチンから分離できます。BitmapData オブジェクトを直接操作することで複雑なイメージを作成できるので、ベクターデータのコンテンツを連続的に再描画するフレーム単位のオーバーヘッドを避けることができます。

BitmapData クラスのメソッドは、(ビットマップ以外の表示オブジェクトでは使用可能な) フィルタを使って設定できないような効果をサポートします。

BitmapData オブジェクトには、ピクセルデータの配列が含まれています。このデータは、完全に不透明なビットマップ、またはアルファチャネルデータを含む透明なビットマップを表現できます。いずれの種類の BitmapData オブジェクトも 32 ビット整数のバッファとして保存されます。各 32 ビット整数は、ビットマップ内の 1 つのピクセルのプロパティを決定します。

各 32 ビット整数は、ピクセルのアルファ透明度と赤緑青 (ARGB) の値を表す 4 つの 8 ビットチャネル値 (0 ~ 255) の組み合わせです。(ARGB 値では、最上位バイトがアルファチャネル値を表し、続いて赤、緑、青を表します。)

この 4 つのチャネル (アルファ、赤、緑、青) は、BitmapData.copyChannel() メソッド、または DisplacementMapFilter.componentX および DisplacementMapFilter.componentY プロパティで使用する場合に数値として表されます。これらの数値は、BitmapDataChannel クラスの次の定数によって表されます。

Bitmap オブジェクトの bitmapData プロパティを使用すると、BitmapData オブジェクトを Bitmap オブジェクトに関連付けることができます。

Graphics.beginBitmapFill() メソッドを使用すると、BitmapData オブジェクトを使って Graphics オブジェクトを塗りつぶすことができます。

BitmapData オブジェクトの最大の幅と高さは 2880 ピクセルです。

BitmapData オブジェクトのいずれかのメソッドやプロパティを呼び出したときに、BitmapData オブジェクトが無効なものであった場合 (たとえば height == 0 かつ width == 0 の場合) や、dispose() で既に破棄されたものであった場合は、ArgumentError エラーがスローされます。

関連項目

flash.display.Bitmap.bitmapData
flash.display.Graphics.beginBitmapFill()
flash.display.Loader
ビットマップの作成と操作


パブリックプロパティ
 プロパティ定義
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  height : int
[read-only] ビットマップイメージの高さ (ピクセル単位) です。
BitmapData
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  rect : Rectangle
[read-only] ビットマップイメージのサイズと位置を定義する矩形です。
BitmapData
  transparent : Boolean
[read-only] ビットマップイメージがピクセル単位の透明度をサポートするかどうかを定義します。
BitmapData
  width : int
[read-only] ビットマップイメージの幅 (ピクセル単位) です。
BitmapData
パブリック Methods
 メソッド定義
  
BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)
指定された幅と高さで BitmapData オブジェクトを作成します。
BitmapData
  
applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
ソースイメージとフィルタオブジェクトを受け取り、フィルタを適用して得られるイメージを生成します。
BitmapData
  
新しい BitmapData オブジェクトとして、元のインスタンスのクローンを返します。含まれるビットマップはまったく同じコピーになります。
BitmapData
  
ColorTransform オブジェクトを使用して、ビットマップイメージの特定領域のカラー値を調整します。
BitmapData
  
compare(otherBitmapData:BitmapData):Object
2 つの BitmapData オブジェクトを比較します。
BitmapData
  
copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void
別の BitmapData オブジェクトまたは現在の BitmapData オブジェクトの 1 つのチャネルのデータを、現在の BitmapData オブジェクトのチャネルに転送します。
BitmapData
  
copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void
イメージ間のピクセル操作 (伸長、回転、カラー効果なし) を高速に実行するルーチンを提供します。
BitmapData
  
BitmapData オブジェクトの格納に使用されるメモリを解放します。
BitmapData
  
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void
Flash Player のベクターレンダラを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。
BitmapData
  
fillRect(rect:Rectangle, color:uint):void
指定された ARGB カラーで矩形領域のピクセルを塗りつぶします。
BitmapData
  
floodFill(x:int, y:int, color:uint):void
(x, y) 座標を始点として所定の色で塗りつぶすことにより、イメージの塗りつぶし処理を実行します。
BitmapData
  
BitmapData オブジェクト、ソース矩形、フィルタオブジェクトを指定して、applyFilter() メソッド呼び出しによって影響を受けるターゲット矩形を決定します。
BitmapData
  
getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle
(findColor パラメータが true に設定されている場合) ビットマップイメージ内の指定された色のすべてのピクセルを完全に囲む矩形領域を判別します。または、(findColor パラメータが false に設定されている場合) 指定された色ではないすべてのピクセルを完全に囲む矩形領域を判別します。
BitmapData
  
BitmapData オブジェクトの特定ポイント (x, y) の RGB ピクセル値を表す整数を返します。
BitmapData
  
アルファチャネルデータと RGB データを含む ARGB カラー値を返します。
BitmapData
  
ピクセルデータの矩形領域からバイト配列を生成します。
BitmapData
 Inherited
指定されたプロパティがオブジェクトに定義されているかどうかを示します。
Object
  
hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean
1 つのビットマップイメージと、ポイント、矩形、または他のビットマップイメージとの間でピクセルレベルのヒットを検出します。
BitmapData
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト (たとえば Bitmap オブジェクト) が更新されないように、イメージをロックします。
BitmapData
  
merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void
ソースイメージとターゲットイメージをチャネルごとにブレンドします。
BitmapData
  
noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
ランダムノイズを表すピクセルでイメージを塗りつぶします。
BitmapData
  
paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void
最大で 4 つのカラーパレットデータ配列 (各チャネルごとに 1 つの配列) を使用して、イメージ内のカラーチャネル値をマッピングし直します。
BitmapData
  
perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Perlin ノイズイメージを生成します。
BitmapData
  
pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int
ソースイメージからターゲットイメージへのピクセルディゾルブ、または同じイメージを使用したピクセルディゾルブを実行します。
BitmapData
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
scroll(x:int, y:int):void
所定の (x, y) ピクセル量だけイメージをスクロールします。
BitmapData
  
setPixel(x:int, y:int, color:uint):void
BitmapData オブジェクトの 1 つのピクセルを設定します。
BitmapData
  
setPixel32(x:int, y:int, color:uint):void
BitmapData オブジェクトの 1 つのピクセルにカラー値とアルファ透明度値を設定します。
BitmapData
  
setPixels(rect:Rectangle, inputByteArray:ByteArray):void
バイト配列をピクセルデータの矩形領域に変換します。
BitmapData
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint
指定されたしきい値と比較してイメージ内のピクセル値をテストし、テストに適合したピクセルに新しいカラー値を設定します。
BitmapData
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
unlock(changeRect:Rectangle = null):void
この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト (たとえば Bitmap オブジェクト) が更新されるように、イメージをロック解除します。
BitmapData
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
heightプロパティ
height:int  [read-only]

ビットマップイメージの高さ (ピクセル単位) です。

実装
    public function get height():int
rectプロパティ 
rect:Rectangle  [read-only]

ビットマップイメージのサイズと位置を定義する矩形です。矩形の上端と左端は 0 になります。幅と高さは、BitmapData オブジェクトのピクセルの幅および高さと等しくなります。

実装
    public function get rect():Rectangle
transparentプロパティ 
transparent:Boolean  [read-only]

ビットマップイメージがピクセル単位の透明度をサポートするかどうかを定義します。この値を設定できるのは、コンストラクタの transparent パラメータに true を渡すことによって BitmapData オブジェクトを作成する場合だけです。BitmapData オブジェクトを作成した後、transparent プロパティの値が true であるかどうかを確認することにより、このオブジェクトがピクセルごとの透明度をサポートするかどうかを検査できます。

実装
    public function get transparent():Boolean
widthプロパティ 
width:int  [read-only]

ビットマップイメージの幅 (ピクセル単位) です。

実装
    public function get width():int
コンストラクタの詳細
BitmapData()コンストラクタ
public 関数 BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)

指定された幅と高さで BitmapData オブジェクトを作成します。fillColor パラメータに値を指定した場合、ビットマップのすべてのピクセルにその色が設定されます。

transparent パラメータに false を渡さない限り、デフォルトではビットマップが透明として作成されます。不透明のビットマップを作成した後、それを透明のビットマップに変更することはできません。不透明のビットマップに含まれるすべてのピクセルは、24 ビットのカラーチャネル情報だけを使用します。ビットマップを透明に定義した場合、すべてのピクセルは、アルファ透明チャネルを含む 32 ビットのカラーチャネル情報を使用します。

BitmapData オブジェクトの最大の幅と高さは 2880 ピクセルです。幅または高さに 2880 より大きい値を指定すると、新しいインスタンスは作成されません。

パラメータ
width:int — ビットマップイメージの幅 (ピクセル単位) です。
 
height:int — ビットマップイメージの高さ (ピクセル単位) です。
 
transparent:Boolean (default = true) — ビットマップイメージがピクセル単位の透明度をサポートするかどうかを指定します。デフォルト値は true (透明) です。完全に透明なビットマップを作成するには、transparent パラメータの値を true に、fillColor パラメータの値を 0x00000000 (または 0) に設定します。transparent プロパティに false を設定すると、レンダリングのパフォーマンスが若干向上することがあります。
 
fillColor:uint (default = 0xFFFFFFFF) — ビットマップイメージ領域を塗りつぶすのに使用する 32 ビット ARGB カラー値です。デフォルト値は 0xFFFFFFFF (白) です。

スロー
ArgumentError — 幅または高さが無効です (0 以下または 2880 より大きい)。
メソッドの詳細
applyFilter()メソッド
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void

ソースイメージとフィルタオブジェクトを受け取り、フィルタを適用して得られるイメージを生成します。

このメソッドはビルトインフィルタオブジェクトの動作に依存します (このオブジェクトは、入力ソース矩形によって影響を受けるターゲット矩形を決定します)。

フィルタを適用した後、結果として得られるイメージは入力イメージよりも大きくなることがあります。たとえば、BlurFilter クラスを使用してソース矩形 (50,50,100,100) とターゲットポイント (10,10) をぼかすと、ターゲットイメージで変更される領域は、ぼかしのために、(10,10,60,60) よりも大きくなります。これは、applyFilter() 呼び出し時に内部で発生します。

sourceBitmapData パラメータの sourceRect パラメータが内側領域 (200 x 200 のイメージ内の (50,50,100,100) など) である場合、フィルタは、sourceRect パラメータの外側にあるソースピクセルを使用して、ターゲット矩形を生成します。

sourceBitmapData パラメータとして指定されたオブジェクトと BitmapData オブジェクトが同じであれば、Flash Player はオブジェクトの一時コピーを使ってフィルタを実行します。最適なパフォーマンスを得るには、このような状況を避けてください。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ (現在の BitmapData インスタンス) 内のポイントです。
 
filter:BitmapFilter — フィルタ適用処理に使用されるフィルタオブジェクトです。それぞれの種類のフィルタには、次のような要件があります。
  • BlurFilter — このフィルタは、透明または不透明なソースイメージとターゲットイメージを使用できます。イメージのフォーマットが一致しない場合、フィルタ適用中に作成されるソースイメージのコピーがターゲットイメージのフォーマットに合わせられます。
  • BevelFilter、DropShadowFilter、GlowFilter、ChromeFilter — これらのフィルタのターゲットイメージは透明イメージでなければなりません。DropShadowFilter または GlowFilter を呼び出すと、ドロップシャドウまたはグローのアルファチャネルデータを含むイメージが作成されます。ドロップシャドウはターゲットイメージ上に作成されません。これらのフィルタを不透明なターゲットイメージに対して使用すると、例外がスローされます (ActionScript 3.0)。
  • ConvolutionFilter — このフィルタは、透明または不透明なソースイメージとターゲットイメージを使用できます。
  • ColorMatrixFilter — このフィルタは、透明または不透明なソースイメージとターゲットイメージを使用できます。
  • DisplacementMapFilter — このフィルタは、透明または不透明なソースイメージとターゲットイメージを使用できますが、イメージの形式はソースとターゲットで同じである必要があります。

スロー
TypeError — sourceBitmapData、sourceRect、destPoint、または filter が null です。
 
IllegalOperationError — BitmapData オブジェクトの透明度は、フィルタ操作と互換性がありません。

関連項目

clone()メソッド 
public function clone():BitmapData

新しい BitmapData オブジェクトとして、元のインスタンスのクローンを返します。含まれるビットマップはまったく同じコピーになります。

戻り値
BitmapData — 元のオブジェクトと同一の新しい BitmapData オブジェクトです。
colorTransform()メソッド 
public function colorTransform(rect:Rectangle, colorTransform:ColorTransform):void

ColorTransform オブジェクトを使用して、ビットマップイメージの特定領域のカラー値を調整します。矩形がビットマップイメージの境界と一致する場合、このメソッドはイメージ全体のカラー値を変換します。

パラメータ
rect:Rectangle — ColorTransform オブジェクトが適用されるイメージの領域を定義する Rectangle オブジェクトです。
 
colorTransform:ColorTransform — 適用されるカラー変換値を記述する ColorTransform オブジェクトです。

スロー
TypeError — rect または colorTransform が null です。

関連項目

compare()メソッド 
public function compare(otherBitmapData:BitmapData):Object

2 つの BitmapData オブジェクトを比較します。2 つの BitmapData オブジェクトのサイズ (幅と高さ) が同じであれば、メソッドは新しい BitmapData オブジェクトを返します。この新しいオブジェクトの各ピクセルは、2 つのソースオブジェクトのピクセル間の「差分」です。

たとえば、次のような 2 つの BitmapData オブジェクトがあるとします。

  var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFF0000);
  var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00);
  var diffBmpData:BitmapData = bmd1.compare(bmd2);
  

メモ : 2 つの BitmapData オブジェクトを塗りつぶすために使用されるそれぞれの色の RGB 値はわずかに異なります (0xFF0000 と 0xFFAA00)。compare() メソッドの結果として新しい BitmapData オブジェクトが生成され、その各ピクセルは 2 つのビットマップ間の RGB 値の差分を示します。

次のような 2 つの BitmapData オブジェクトがあるとします。両者の RGB カラーは同じですが、アルファ値は異なります。

  var bmd1:BitmapData = new BitmapData(50, 50, true, 0xFFFFAA00);
  var bmd2:BitmapData = new BitmapData(50, 50, true, 0xCCFFAA00);
  var diffBmpData:BitmapData = bmd1.compare(bmd2);
  

compare() メソッドの結果として新しい BitmapData オブジェクトが生成され、その各ピクセルは 2 つのビットマップ間のアルファ値の差分を示します。

BitmapData オブジェクトが等しい (幅と高さ、およびピクセル値が同じ) 場合、このメソッドは数値 0 を返します。

BitmapData オブジェクトの幅が等しくない場合、高さが同じであれば、このメソッドは数値 -3 を返します。

BitmapData オブジェクトの高さが等しくない場合、幅が同じであれば、このメソッドは数値 -4 を返します。

次の例では、幅の異なる 2 つの Bitmap オブジェクトを比較します (それぞれの幅は 50 と 60)。

  var bmd1:BitmapData = new BitmapData(100, 50, false, 0xFFFF0000);
  var bmd2:BitmapData = new BitmapData(100, 60, false, 0xFFFFAA00);
  trace(bmd1.compare(bmd2)); // -4
  
パラメータ
otherBitmapData:BitmapData — ソース BitmapData オブジェクトと比較される BitmapData オブジェクトです。

戻り値
Object — 2 つの BitmapData オブジェクトのサイズ (幅と高さ) が同じであれば、このメソッドは、2 つのオブジェクト間の差分を示す新しい BitmapData オブジェクトを返します (主な説明の項を参照してください)。2 つの BitmapData オブジェクトが等しい場合、このメソッドは数値 0 を返します。BitmapData オブジェクトの幅が等しくない場合、メソッドは数値 -3 を返します。BitmapData オブジェクトの高さが等しくない場合、メソッドは数値 -4 を返します。

スロー
TypeError — otherBitmapData が null です。
copyChannel()メソッド 
public function copyChannel(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, sourceChannel:uint, destChannel:uint):void

別の BitmapData オブジェクトまたは現在の BitmapData オブジェクトの 1 つのチャネルのデータを、現在の BitmapData オブジェクトのチャネルに転送します。ターゲット BitmapData オブジェクト内のその他のチャンルのデータはすべて保たれます。

ソースチャネルの値とターゲットチャネルの値は、次のいずれかになります。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData オブジェクトを参照することもできます。
 
sourceRect:Rectangle — ソース側の Rectangle オブジェクトです。ビットマップ内のより小さな領域のチャネルデータだけをコピーするには、BitmapData オブジェクトのサイズ全体よりも小さいソース矩形を指定します。
 
destPoint:Point — 新しいチャネルデータが配置される矩形領域の左上隅を表すターゲット Point オブジェクトです。ある特定の領域のチャネルデータだけをターゲットイメージ内の別の領域にコピーするには、(0,0) 以外のポイントを指定します。
 
sourceChannel:uint — ソースチャネルです。BitmapDataChannel クラスの値 (BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.ALPHA) を使用します。
 
destChannel:uint — ターゲットチャネルです。BitmapDataChannel クラスの値 (BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREENBitmapDataChannel.ALPHA) を使用します。

スロー
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。

関連項目

copyPixels()メソッド 
public function copyPixels(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmapData:BitmapData = null, alphaPoint:Point = null, mergeAlpha:Boolean = false):void

イメージ間のピクセル操作 (伸長、回転、カラー効果なし) を高速に実行するルーチンを提供します。このメソッドは、ソースイメージの矩形領域を、ターゲット BitmapData オブジェクトのターゲットポイントにある同じサイズの矩形領域にコピーします。

alphaBitmap パラメータと alphaPoint パラメータを含めれば、2 番目のイメージをソースイメージのアルファソースとして使用できます。ソースイメージにアルファデータがある場合、2 つのアルファデータセットを使用して、ソースイメージのピクセルがターゲットイメージ上に合成されます。alphaPoint パラメータは、ソース矩形の左上隅に対応する、アルファイメージ内のポイントです。ソースイメージとアルファイメージが交わらない部分のピクセルは、ターゲットイメージにコピーされません。

mergeAlpha プロパティは、透明なイメージが別の透明なイメージにコピーされるときにアルファチャネルが使用されるかどうかを制御します。アルファチャネルデータを使用してピクセルをコピーするには、mergeAlpha プロパティを true に設定します。デフォルトでは、mergeAlpha プロパティは false に設定されています。

パラメータ
sourceBitmapData:BitmapData — ピクセルのコピー元となる入力ビットマップイメージです。ソースイメージは、別の BitmapData インスタンスにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ターゲットポイントです。新しいピクセルが配置される矩形領域の左上隅を表します。
 
alphaBitmapData:BitmapData (default = null) — 第 2 のアルファ BitmapData オブジェクトソースです。
 
alphaPoint:Point (default = null) — アルファ BitmapData オブジェクトソース内のポイントです。sourceRect パラメータの左上隅に対応します。
 
mergeAlpha:Boolean (default = false) — アルファチャネルを使用するには、値を true に設定します。アルファチャネルを使用せずにピクセルをコピーするには、値を false に設定します。

スロー
TypeError — sourceBitmapData、sourceRect または destPoint が null です。
dispose()メソッド 
public function dispose():void

BitmapData オブジェクトの格納に使用されるメモリを解放します。

dispose() メソッドをイメージに対して呼び出すと、イメージの幅と高さがゼロに設定されます。それ以降、この BitmapData インスタンスのメソッドやプロパティを呼び出すと失敗し、例外がスローされます。

draw()メソッド 
public function draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

Flash Player のベクターレンダラを使用して、source 表示オブジェクトをビットマップイメージ上に描画します。matrixcolorTransformblendMode、およびターゲット clipRect パラメータを指定することにより、レンダリングの実行方法を制御できます。さらに、必要に応じて、拡大・縮小時にビットマップのスムージングを行うかどうかを指定することもできます (これはソースオブジェクトが BitmapData オブジェクトの場合にのみ可能です)。

このメソッドは、オーサリングツールインターフェイスにおいてオブジェクトに対して標準ベクターレンダラを使ってオブジェクトを描画する方法に直接対応します。

ソース表示オブジェクトは、この呼び出しで適用される変換を使用しません。ライブラリやファイルの中に存在するものとして扱われ、マトリックス変換、カラー変換、ブレンドモードはありません。変換プロパティを使って (ムービークリップなどの) 表示オブジェクトを描画するには、BitmapData オブジェクトを使用する Bitmap オブジェクトの transform プロパティに transform プロパティオブジェクトをコピーすることができます。

セキュリティ上の注意事項 :source オブジェクトおよび (Sprite または MovieClip オブジェクト) のすべての子オブジェクトは、呼び出し元と同じドメインに属するか、Security.allowDomain() メソッドを呼び出すことで呼び出し元からアクセスできる SWF ファイルに含まれている必要があります。これらの条件が満たされない場合、draw() メソッドは何も描画しません。

パラメータ
source:IBitmapDrawable — BitmapData オブジェクトに描画される表示オブジェクトまたは BitmapData オブジェクトです。(DisplayObject およびBitmapData クラスは IBitmapDrawable インターフェイスを実装しています)。
 
matrix:Matrix (default = null) — ビットマップの座標を拡大・縮小、回転、または変換するために使われる Matrix オブジェクトです。マトリックス変換をイメージに適用したくない場合は、(デフォルト new Matrix() コンストラクタを使って作成される) 単位マトリックスにこのパラメータを設定するか、null 値を渡してください。
 
colorTransform:ColorTransform (default = null) — ビットマップのカラー値を調整するために使用する ColorTransform オブジェクトです。オブジェクトが提供されない場合、ビットマップイメージのカラーは変換されません。このパラメータを渡す必要があるが、イメージを変換したくない場合、このパラメータを、デフォルトの new ColorTransform() コンストラクタを使って作成される ColorTransform オブジェクトに設定します。
 
blendMode:String (default = null) — 結果として生成されるビットマップに適用されるブレンドモードを指定する、flash.display.BlendMode クラスのストリング値です。
 
clipRect:Rectangle (default = null) — 描画するソースオブジェクトの領域を定義する矩形オブジェクトです。この値を指定しない場合、クリッピングは発生せず、ソースオブジェクト全体が描画されます。
 
smoothing:Boolean (default = false)matrix パラメータでの拡大・縮小や回転により、拡大・縮小または回転時に BitmapData オブジェクトのスムージングを行うかどうか決定するブール値です。smoothing パラメータは、source パラメータが BitmapData オブジェクトの場合にのみ適用されます。smoothingfalse に設定すると、回転または拡大・縮小された BitmapData イメージはピクセル化されたように、またはぎざぎざに表示されます。たとえば、次の 2 つのイメージでは source パラメータに同じ BitmapData オブジェクトを使用しますが、左側では smoothing パラメータが true に、右側では false に設定されています。

2 つのイメージの左側はスムージングあり、右側はスムージングなしです。

smoothingtrue に設定したビットマップの描画は、smoothingfalse に設定した場合よりも時間がかかります。


スロー
ArgumentError source パラメータが、BitmapData または DisplayObject オブジェクトではありません。
 
SecurityError source オブジェクト、および (Sprite または MovieClip オブジェクトの) すべての子オブジェクトが呼び出し元と同じドメインに属していないか、Security.allowDomain() メソッド呼び出し後に呼び出し元からアクセスできる SWF ファイルに含まれていません。
 
ArgumentError — source が null であるか、有効な IBitmapDrawable オブジェクトではありません。

関連項目

fillRect()メソッド 
public function fillRect(rect:Rectangle, color:uint):void

指定された ARGB カラーで矩形領域のピクセルを塗りつぶします。

パラメータ
rect:Rectangle — 塗りつぶす矩形領域です。
 
color:uint — 領域を塗りつぶすため使用される ARGB カラー値です。ARGB カラー値は通常、16 進数形式 (たとえば、0xFF336699) で指定します。

スロー
TypeError — rect が null です。

関連項目

floodFill()メソッド 
public function floodFill(x:int, y:int, color:uint):void

(x, y) 座標を始点として所定の色で塗りつぶすことにより、イメージの塗りつぶし処理を実行します。floodFill() メソッドは、各種のペイントプログラムのバケツツールのようなものです。color は、アルファ情報とカラー情報を含む ARGB カラーです。

パラメータ
x:int — イメージの x 座標です。
 
y:int — イメージの y 座標です。
 
color:uint — 塗りとして使用する ARGB カラーです。
generateFilterRect()メソッド 
public function generateFilterRect(sourceRect:Rectangle, filter:BitmapFilter):Rectangle

BitmapData オブジェクト、ソース矩形、フィルタオブジェクトを指定して、applyFilter() メソッド呼び出しによって影響を受けるターゲット矩形を決定します。

たとえば、ぼかしフィルタは通常、元のイメージのサイズよりも大きい領域に影響を与えます。デフォルトの BlurFilter インスタンス (blurX = blurY = 4) によってフィルタが適用される 100 x 200 ピクセルのイメージは (-2,-2,104,204) というターゲット矩形を生成します。generateFilterRect() メソッドを使用すると、このターゲット矩形のサイズを前もって知ることができるので、フィルタ処理の前にターゲットイメージを適切なサイズにすることができます。

いくつかのフィルタは、ソースイメージのサイズに基づいてターゲット矩形をクリッピングします。たとえば、内側の DropShadow は、ソースイメージよりも大きい結果を生成しません。この API では、ソース rect パラメータではなく、BitmapData オブジェクトをソースの境界として使用します。

パラメータ
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
filter:BitmapFilter — ターゲット矩形を算出するために使用するフィルタオブジェクトです。

戻り値
Rectangle — イメージ、sourceRect パラメータ、およびフィルタを使って算出されるターゲット矩形です。

スロー
TypeError — sourceRect または filter が null です。
getColorBoundsRect()メソッド 
public function getColorBoundsRect(mask:uint, color:uint, findColor:Boolean = true):Rectangle

(findColor パラメータが true に設定されている場合) ビットマップイメージ内の指定された色のすべてのピクセルを完全に囲む矩形領域を判別します。または、(findColor パラメータが false に設定されている場合) 指定された色ではないすべてのピクセルを完全に囲む矩形領域を判別します。

たとえば、あるソースイメージで、0 以外のアルファチャネルを含むイメージの矩形を判別するには、パラメータとして {mask: 0xFF000000, color: 0x00000000} を渡します。findColor パラメータが true に設定されている場合、(value & mask) == color であるピクセルの境界を見つけるためにイメージ全体が検索されます (value はピクセルのカラー値)。findColor パラメータが false に設定されている場合、(value & mask) != color であるピクセルの境界を見つけるためにイメージ全体が検索されます (value はピクセルのカラー値)。イメージの周囲の空白を判別するには、空白以外のピクセルの境界を見つけるために、{mask: 0xFFFFFFFF, color: 0xFFFFFFFF} を渡してください。

パラメータ
mask:uint — 対象となる ARGB カラーのビットを指定する 16 進数値です。カラー値は、& (ビット単位の論理積 (AND)) 演算子を使用して、この 16 進数値と組み合わせられます。
 
color:uint — 16 進数値です。(findColortrue に設定されている場合は) 一致すべき ARGB カラー、(findColorfalse に設定されている場合は) 一致すべきでない ARGB カラーをそれぞれ指定します。
 
findColor:Boolean (default = true) — 値が true に設定された場合、イメージ内のカラー値の境界を返します。値が false に設定された場合、イメージ内の指定されたカラーが存在しない領域の境界を返します。

戻り値
Rectangle — 指定された色であるイメージの領域です。
getPixel()メソッド 
public function getPixel(x:int, y:int):uint

BitmapData オブジェクトの特定ポイント (x, y) の RGB ピクセル値を表す整数を返します。getPixel() メソッドは、乗算されていないピクセル値を返します。アルファ情報は返しません。

BitmapData オブジェクト内のすべてのピクセルは、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャネル値を保持します。たとえば、アルファ値が 0 の場合、乗算されていない値とは無関係に、RGB チャネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

パラメータ
x:int — ピクセルの x 座標。
 
y:int — ピクセルの y 座標。

戻り値
uint — RGB ピクセル値を表す数値。(xy) 座標がイメージの境界の外である場合は、0 を返します。

関連項目

getPixel32()メソッド 
public function getPixel32(x:int, y:int):uint

アルファチャネルデータと RGB データを含む ARGB カラー値を返します。このメソッドは getPixel() メソッドと似ていますが、getPixel() メソッドはアルファチャネルデータがない RGB カラーを返します。

BitmapData オブジェクト内のすべてのピクセルは、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャネル値を保持します。たとえば、アルファ値が 0 の場合、乗算されていない値とは無関係に、RGB チャネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

パラメータ
x:int — ピクセルの x 座標。
 
y:int — ピクセルの y 座標。

戻り値
uint — ARGB ピクセル値を表す数値。(x, y) 座標がイメージの境界外である場合は、0 を返します。

関連項目

getPixels()メソッド 
public function getPixels(rect:Rectangle):ByteArray

ピクセルデータの矩形領域からバイト配列を生成します。各ピクセルごとに、符号なし整数 (32 ビットの乗算されないピクセル値) をバイト配列に書き込みます。

パラメータ
rect:Rectangle — 現在の BitmapData オブジェクト内の矩形領域です。

戻り値
ByteArray — 特定の矩形内のピクセルを表す ByteArray です。

スロー
TypeError — rect が null です。

関連項目

hitTest()メソッド 
public function hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

1 つのビットマップイメージと、ポイント、矩形、または他のビットマップイメージとの間でピクセルレベルのヒットを検出します。ヒットテストの際、どちらのオブジェクトの変換 (伸縮、回転など) も考慮されません。

イメージが不透明である場合、このメソッドでは完全に不透明な矩形とみなされます。透過性を考慮するピクセルレベルのヒットテストを実施するには、両方のイメージとも透明でなければなりません。2 つの透明なイメージをテストするとき、アルファしきい値パラメータは、アルファチャネル値 (0 ~ 255) がいくつであれば不透明とみなすかを制御します。

パラメータ
firstPoint:Point — 任意の座標空間における BitmapData イメージの左上隅の位置です。同じ座標空間を使って secondBitmapPoint パラメータが定義されます。
 
firstAlphaThreshold:uint — このヒットテストで不透明とみなされるアルファチャネルの最大値です。
 
secondObject:Object — Rectangle、Point、Bitmap、または BitmapData オブジェクトです。
 
secondBitmapDataPoint:Point (default = null) — 2 番目の BitmapData オブジェクト内のピクセル位置を定義するポイントです。このパラメータは、secondObject の値が BitmapData オブジェクトである場合にのみ使用します。
 
secondAlphaThreshold:uint (default = 1) — 2 番目の BitmapData オブジェクト内で不透明であるとみなされるアルファチャネルの最大値です。このパラメータは、secondObject の値が BitmapData オブジェクトで、両方の BitmapData オブジェクトが透明である場合にのみ使用します。

戻り値
Boolean — ヒットが発生する場合は true、そうでない場合は false です。

スロー
ArgumentError secondObject パラメータが、Point、Rectangle、Bitmap、または BitmapData オブジェクトではありません。
 
TypeError — firstPoint が null です。
lock()メソッド 
public function lock():void

この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト (たとえば Bitmap オブジェクト) が更新されないように、イメージをロックします。パフォーマンスを向上させるには、setPixel() メソッドまたは setPixel32() メソッドを何度も呼び出す前後に、このメソッドを unlock() メソッドとともに使用してください。

関連項目

merge()メソッド 
public function merge(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redMultiplier:uint, greenMultiplier:uint, blueMultiplier:uint, alphaMultiplier:uint):void

ソースイメージとターゲットイメージをチャネルごとにブレンドします。チャネルごとに次の式を使用します。

new red dest = (red source * redMultiplier) + (red dest * (256 - redMultiplier) / 256;

redMultiplier 値、greenMultiplier 値、blueMultiplier 値、および alphaMultiplier 値は、それぞれのカラーチャネルの乗数です。有効な範囲は 0 ~ 256 です。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData オブジェクトを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ (現在の BitmapData インスタンス) 内のポイントです。
 
redMultiplier:uint — 赤チャネル値に乗算する数値です。
 
greenMultiplier:uint — 緑チャネル値に乗算する数値です。
 
blueMultiplier:uint — 青チャネル値に乗算する数値です。
 
alphaMultiplier:uint — アルファ透明度の値に乗算する数値です。

スロー
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。
noise()メソッド 
public function noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void

ランダムノイズを表すピクセルでイメージを塗りつぶします。

パラメータ
randomSeed:int — ランダムシード (乱数の種) として使用する数値です。他のすべてのパラメータを同じままにした場合、ランダムシードの値を変更することでさまざまな疑似乱数を生成できます。ノイズ関数はマッピング関数であり、真の乱数生成関数ではありません。このため、同じランダムシードから毎回同じ結果が作成されます。
 
low:uint (default = 0) — チャネルごとに生成する最小値です (0 ~ 255)。
 
high:uint (default = 255) — チャネルごとに生成する最大値です (0 ~ 255)。
 
channelOptions:uint (default = 7) — 任意の 4 つのカラーチャネル値 (BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREEN、および BitmapDataChannel.ALPHA) の組み合わせである数値。OR 論理演算子 (|) を使用して、複数のチャネル値を組み合わせることができます。
 
grayScale:Boolean (default = false) — ブール値。値が true の場合、すべてのカラーチャネルに同じ値を設定することでグレースケールのイメージが作成されます。このパラメータを true に設定しても、アルファチャネル選択には影響しません。

関連項目

paletteMap()メソッド 
public function paletteMap(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, redArray:Array = null, greenArray:Array = null, blueArray:Array = null, alphaArray:Array = null):void

最大で 4 つのカラーパレットデータ配列 (各チャネルごとに 1 つの配列) を使用して、イメージ内のカラーチャネル値をマッピングし直します。

Flash Player は以下の手順に従って、結果として得られるイメージを生成します。

  1. 赤、緑、青、アルファの各値を算出した後、標準の 32 ビット整数算術演算を使ってこれらの値を足し合わせます。
  2. 各ピクセルの赤、緑、青、アルファのチャネル値を抽出して、別個の 0 ~ 255 の値にします。これらの値は、該当する配列 (redArraygreenArrayblueArray、および alphaArray) で新しいカラー値を調べる場合に使用します。これら 4 つの配列にはそれぞれ 256 個の値が含まれている必要があります。
  3. 新しいチャネル値を 4 つともすべて取得した後、それらの値を組み合わせて、ピクセルに適用される標準の ARGB 値にします。

このメソッドではクロスチャネル効果をサポートすることが可能です。それぞれの入力配列は完全な 32 ビット値を含むことができます。値を足し合わせるときに移動は発生しません。このルーチンは、チャネル単位のクランピングに対応していません。

チャネルに対して配列が指定されない場合は、ソースイメージからターゲットイメージにカラーチャネルがコピーされます。

このメソッドはさまざまな効果のために使用できます。たとえば、通常のパレットマッピング (1 つのチャネルを選択して疑似色イメージに変換する) が可能です。さらに、ガンマ、曲線、平準化、量子化といったさまざまなカラー操作アルゴリズムにもこのメソッドを使用できます。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ (現在の BitmapData オブジェクト) 内のポイントです。
 
redArray:Array (default = null)redArraynull でない場合、red = redArray[source red value] else red = source rect value
 
greenArray:Array (default = null)greenArraynull でない場合、green = greenArray[source green value] else green = source green value
 
blueArray:Array (default = null)blueArraynull でない場合、blue = blueArray[source blue value] else blue = source blue value
 
alphaArray:Array (default = null)alphaArraynull でない場合、alpha = alphaArray[source alpha value] else alpha = source alpha value

スロー
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。
perlinNoise()メソッド 
public function perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void

Perlin ノイズイメージを生成します。

Perlin ノイズ生成アルゴリズムは、個々のランダムノイズ関数 (オクターブという) を補間および結合して、より自然なランダムノイズを生成する単一の関数にします。音楽のオクターブと同様、各オクターブ関数の周波数は、その前のオクターブ関数の周波数の 2 倍です。Perlin ノイズは、複数のノイズデータセットをさまざまな詳細レベルで組み合わせるので、「フラクタルノイズの和」と呼ばれてきました。

Perlin ノイズ関数を使用して、木目、雲、山脈などの自然現象や風景をシミュレートできます。ほとんどの場合、Perlin ノイズ関数の出力をそのまま表示するのではなく、他のイメージを強調したり、擬似ランダムバリエーションを与えるために使用します。

単純なデジタルランダムノイズ関数は、多くの場合、コントラストのきついポイントが含まれるイメージを生成します。このようにきついコントラストは自然界にはほとんど存在しません。Perlin ノイズアルゴリズムは、さまざまな詳細レベルで実行される複数のノイズ関数を混ぜ合わせます。このアルゴリズムの結果、互いに隣接するピクセル値の差異はより小さくなります。

メモ : Perlin ノイズアルゴリズムは、1982 年の映画「トロン」のコンピュータグラフィックを作成後にアルゴリズムを開発した Ken Perlin 氏にちなんで命名されました。Perlin 氏は 1997 年に、Perlin ノイズ関数に関する技術的功績によりアカデミー賞を受賞しました。

パラメータ
baseX:Numberx 方向で使用する周波数。たとえば、64 x 128 のイメージに見合うサイズのノイズを生成するには、baseX 値として 64 を渡します。
 
baseY:Numbery 方向で使用する周波数。たとえば、64 x 128 のイメージに見合うサイズのノイズを生成するには、baseY 値として 128 を渡します。
 
numOctaves:uint — このノイズを作成するために組み合わせるオクターブ (つまり個々のノイズ関数) の数。オクターブ数を多くすると、よりきめ細かいイメージを作成できます。オクターブ数を増やすと、処理時間も長くなります。
 
randomSeed:int — ランダムシード (乱数の種) として使用する数値です。他のすべてのパラメータを同じままにした場合、ランダムシードの値を変更することでさまざまな疑似乱数を生成できます。Perlin ノイズ関数はマッピング関数であり、真の乱数生成関数ではありません。このため、同じランダムシードから毎回同じ結果が作成されます。
 
stitch:Boolean — ブール値。値が true の場合、ビットマップ塗りとしてシームレスなタイリング用テクスチャを作成するために、このメソッドはイメージのトランジションエッジをスムーズにすることを試みます。
 
fractalNoise:Boolean — ブール値。値が true の場合、このメソッドはフラクタルノイズを生成します。そうでない場合、乱流を生成します。乱流があるイメージにはグラデーションに視覚的な不連続性があるので、炎や海の波のようなシャープな視覚効果に適している場合があります。
 
channelOptions:uint (default = 7) — 任意の 4 つのカラーチャネル値 (BitmapDataChannel.REDBitmapDataChannel.BLUEBitmapDataChannel.GREEN、および BitmapDataChannel.ALPHA) の組み合わせである数値。OR 論理演算子 (|) を使用して、複数のチャネル値を組み合わせることができます。
 
grayScale:Boolean (default = false) — ブール値。値が true の場合、赤、緑、および青の各カラーチャネルに同じ値を設定して、グレースケールイメージが作成されます。この値が true に設定されても、アルファチャネルの値に影響はありません。
 
offsets:Array (default = null) — 各オクターブの x オフセットと y オフセットに対応するポイントの配列。オフセット値を操作することで、perlinNoise イメージのレイヤーをスムーズにスクロールできます。オフセット配列内の各ポイントは、特定のオクターブノイズ関数に影響を与えます。
pixelDissolve()メソッド 
public function pixelDissolve(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, randomSeed:int = 0, numPixels:int = 0, fillColor:uint = 0):int

ソースイメージからターゲットイメージへのピクセルディゾルブ、または同じイメージを使用したピクセルディゾルブを実行します。Flash Player は randomSeed 値を使用して、ランダムなピクセルディゾルブを生成します。完了するまでピクセルディゾルブを続けるには、この関数の戻り値を後続の呼び出しに渡す必要があります。

ソースイメージとターゲットイメージが等しくない場合は、すべてのプロパティを使用して、ソースからターゲットにピクセルがコピーされます。この処理により、空白イメージから完全に設定されたイメージへのディゾルブが可能になります。

ソースイメージとターゲットイメージが等しい場合は、color パラメータを使ってピクセルが塗られます。この処理により、完全に設定されたイメージを消去するようにディゾルブできます。このモードでは、ターゲット point パラメータが無視されます。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ (現在の BitmapData インスタンス) 内のポイントです。
 
randomSeed:int (default = 0) — ピクセルディゾルブを開始するために使用するランダムシード (乱数の種) です。
 
numPixels:int (default = 0) — デフォルトは、ソース領域 (幅 x 高さ) の 1/30 です。
 
fillColor:uint (default = 0) — ソース値とターゲット値が等しいピクセルの塗りつぶしに使用する ARGB カラー値です。

戻り値
int — 後続の呼び出しで使用する新しいランダムシード (乱数の種) です。

スロー
TypeError — sourceBitmapData、sourceRect、または destPoint が null です。
 
TypeError — numPixels が負の値です。
scroll()メソッド 
public function scroll(x:int, y:int):void

所定の (x, y) ピクセル量だけイメージをスクロールします。スクロール領域外のエッジ領域は変わらずにそのままになります。

パラメータ
x:int — 水平方向のスクロール量です。
 
y:int — 垂直方向のスクロール量です。
setPixel()メソッド 
public function setPixel(x:int, y:int, color:uint):void

BitmapData オブジェクトの 1 つのピクセルを設定します。この処理中、イメージピクセルのアルファチャネルは現在の値が保持されます。RGB カラーパラメータの値は、乗算されていないカラー値として扱われます。

メモ : パフォーマンスを向上させるには、setPixel() または setPixel32() メソッドを繰り返し使用し、setPixel() またはsetPixel32() メソッドを呼び出す前に lock() メソッドを呼び出します。その後、ピクセルの変更がすべて完了したら unlock() メソッドを呼び出します。このように処理を行うと、ピクセル変更がすべて完了するまで、この BitmapData インスタンスを参照するオブジェクトは更新されません。

パラメータ
x:int — 値が変更されるピクセルの x 座標です。
 
y:int — 値が変更されるピクセルの y 座標です。
 
color:uint — 結果として生成される、ピクセルの RGB カラーです。

関連項目

setPixel32()メソッド 
public function setPixel32(x:int, y:int, color:uint):void

BitmapData オブジェクトの 1 つのピクセルにカラー値とアルファ透明度値を設定します。このメソッドは setPixel() メソッドと似ています。主な違いは、setPixel32() メソッドはアルファチャネル情報を含む ARGB カラー値を受け入れることです。

BitmapData オブジェクト内のすべてのピクセルは、乗算済みカラー値として保存されます。乗算済みイメージピクセルは、アルファデータが既に乗算された赤、緑、青の各カラーチャネル値を保持します。たとえば、アルファ値が 0 の場合、乗算されていない値とは無関係に、RGB チャネルの値も 0 になります。このようにデータが失われると、処理の実行時に問題が生じることがあります。BitmapData のすべてのメソッドは、乗算されていない値を受け取ったり返したりします。ピクセルの内部表現は、値として返される前に、乗算済みから非乗算に変換されます。設定処理の際は、ピクセル値が事前に乗算されてから、生のイメージピクセルが設定されます。

メモ : パフォーマンスを向上させるには、setPixel() または setPixel32() メソッドを繰り返し使用し、setPixel() またはsetPixel32() メソッドを呼び出す前に lock() メソッドを呼び出します。その後、ピクセルの変更がすべて完了したら unlock() メソッドを呼び出します。このように処理を行うと、ピクセル変更がすべて完了するまで、この BitmapData インスタンスを参照するオブジェクトは更新されません。

パラメータ
x:int — 値が変更されるピクセルの x 座標です。
 
y:int — 値が変更されるピクセルの y 座標です。
 
color:uint — 結果として生成される、ピクセルの ARGB カラーです。ビットマップが不透明な (透明でない) 場合には、このカラー値のアルファ透明度部分は無視されます。

関連項目

setPixels()メソッド 
public function setPixels(rect:Rectangle, inputByteArray:ByteArray):void

バイト配列をピクセルデータの矩形領域に変換します。各ピクセルごとに ByteArray.readUnsignedInt() メソッドが呼び出され、戻り値がピクセルに書き込まれます。矩形全体が書き込まれる前にバイト配列が終了した場合、関数は終了します。バイト配列内のデータは 32 ビット ARGB ピクセル値と想定されます。ピクセル読み取りの前後に、バイト配列に対するシークは実行されません。

パラメータ
rect:Rectangle — BitmapData オブジェクトの矩形領域を指定します。
 
inputByteArray:ByteArray — 矩形領域で使用される 32 ビットの乗算されないピクセル値からなる ByteArray オブジェクトです。

スロー
EOFError inputByteArray オブジェクトには、rect 矩形の領域を塗りつぶすための十分なデータが含まれていません。このメソッドは、可能な限り多くのピクセルを塗りつぶした後、例外をスローします。
 
TypeError — rect または inputByteArray が null です。

関連項目

threshold()メソッド 
public function threshold(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:uint, color:uint = 0, mask:uint = 0xFFFFFFFF, copySource:Boolean = false):uint

指定されたしきい値と比較してイメージ内のピクセル値をテストし、テストに適合したピクセルに新しいカラー値を設定します。threshold() メソッドを使用すれば、イメージ内のカラー範囲を分離および置換したり、その他の論理演算をイメージピクセルに対して実行することができます。

threshold() メソッドのテスト論理は次のとおりです。

  1. ((pixelValue & mask) operation (threshold & mask)) の場合、ピクセルを color に設定
  2. そうでない場合、copySource == true であれば、sourceBitmap の対応するピクセル値にピクセルを設定

operation パラメータには、しきい値テストで使用する比較演算子を指定します。たとえば、operation パラメータとして "==" を使用することにより、イメージ内の特定のカラー値を分離できます。または、{operation: "<", mask: 0xFF000000, threshold: 0x7F000000, color: 0x00000000} を使用することにより、ソースイメージピクセルのアルファが 0x7F 未満の場合に、すべてのターゲットピクセルが完全に透明になるように設定できます。アニメーション化されたトランジションやその他の効果に対して、この技法を使用できます。

パラメータ
sourceBitmapData:BitmapData — 使用する入力ビットマップイメージです。ソースイメージは、別の BitmapData オブジェクトにすることも、現在の BitmapData インスタンスを参照することもできます。
 
sourceRect:Rectangle — 入力として使用するソースイメージの領域を定義する矩形です。
 
destPoint:Point — ソース矩形の左上隅に対応する、ターゲットイメージ (現在の BitmapData インスタンス) 内のポイントです。
 
operation:String — 比較演算子 ("<"、"<="、">"、">="、"=="、"!=") の 1 つ。ストリングとして渡されます。
 
threshold:uint — 各ピクセルがしきい値に適合するか、それともしきい値を超えているかをテストするための基準となる値です。
 
color:uint (default = 0) — しきい値テストに適合した場合にピクセルに設定されるカラー値です。デフォルト値は 0x000000 です。
 
mask:uint (default = 0xFFFFFFFF) — カラーコンポーネントを分離するために使用するマスクです。
 
copySource:Boolean (default = false) — 値が true であれば、しきい値テストに適合しない場合にソースイメージのピクセル値がターゲットにコピーされます。値が false であれば、しきい値テストに適合しない場合にソースイメージはコピーされません。

戻り値
uint — 変更されたピクセルの数です。

スロー
TypeError — sourceBitmapData、sourceRect、destPoint、または operation が null です。
 
ArgumentError — operation のストリングが有効な演算ではありません。
unlock()メソッド 
public function unlock(changeRect:Rectangle = null):void

この BitmapData オブジェクトが変更されたときに、BitmapData オブジェクトを参照するすべてのオブジェクト (たとえば Bitmap オブジェクト) が更新されるように、イメージをロック解除します。パフォーマンスを向上させるには、setPixel() メソッドまたは setPixel32() メソッドを何度も呼び出す前後に、このメソッドを lock() メソッドとともに使用してください。

パラメータ
changeRect:Rectangle (default = null) — 変更された BitmapData オブジェクトの領域。このパラメータに値を指定しない場合、BitmapData オブジェクトの全領域が変更されたと見なされます。

関連項目