copyPixels (BitmapData.copyPixels メソッド)

public copyPixels(sourceBitmap: BitmapData , sourceRect: Rectangle , destPoint: Point , [alphaBitmap: BitmapData ], [alphaPoint: Point ], [mergeAlpha: Boolean ]) : Void

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

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

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

対応バージョン : ActionScript 1.0、Flash Player 8

パラメータ

sourceBitmap:BitmapData - ピクセルのコピー元になる入力ビットマップイメージ。ソースイメージは、別の BitmapData インスタンスにすることも、現在の BitmapData インスタンスを参照することもできます。

sourceRect:Rectangle - 入力として使用するソースイメージの領域を定義する矩形。

destPoint:Point - ターゲットポイント。新しいピクセルを配置する矩形領域の左上隅を表します。

alphaBitmap:BitmapData (オプション) - 第 2 のアルファ BitmapData オブジェクトソース。

alphaPoint:Point (オプション) - sourceRect パラメータの左上隅に対応するアルファ BitmapData オブジェクトソース内のポイント。

mergeAlpha:Boolean (オプション) - ブール値。アルファチャンネルを使用するには、値を true に設定します。アルファチャンネルを使用せずにピクセルをコピーするには、値を false に設定します。

次の例では、ある BitmapData インスタンスから別の BitmapData インスタンスにピクセルをコピーする方法を示します。

import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

var bitmapData_1:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);
var bitmapData_2:BitmapData = new BitmapData(100, 80, false, 0x00FF0000);

var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc_1.attachBitmap(bitmapData_1, this.getNextHighestDepth());

var mc_2:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc_2.attachBitmap(bitmapData_2, this.getNextHighestDepth());
mc_2._x = 101;

mc_1.onPress = function() {
    bitmapData_2.copyPixels(bitmapData_1, new Rectangle(0, 0, 50, 80), new Point(51, 0));
}

mc_2.onPress = function() {
    bitmapData_1.copyPixels(bitmapData_2, new Rectangle(0, 0, 50, 80), new Point(51, 0));
}

 

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

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