getColorBoundsRect (BitmapData.getColorBoundsRect メソッド)

public getColorBoundsRect(mask: Number , color: Number , [findColor: Boolean ]) : Rectangle

ビットマップイメージ内のピクセルのうち、指定された色のすべてのピクセルを完全に含む矩形領域を決定します。

たとえば、ソースイメージがあり、0 以外のアルファチャネルを含むイメージの矩形を決定する場合には、パラメータとして {mask: 0xFF000000, color: 0x00000000} を渡します。(value & mask) != color であるピクセルの境界が、イメージ全体で検索されます。イメージの周囲に存在する空白を調べるには、{mask: 0xFFFFFFFF, color: 0xFFFFFFFF} を渡して、空白以外のピクセルの境界を検索します。

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

パラメータ

mask:Number - 16 進数のカラー値。

color:Number - 16 進数のカラー値。

findColor:Boolean (オプション) - 値が true に設定された場合、イメージ内のカラー値の境界を返します。値が false に設定された場合、指定されたカラーがイメージ内に存在しない場所の境界を返します。デフォルト値は true です。

戻り値

Rectangle - 指定された色であるイメージの領域。

次の例では、ビットマップイメージ内の指定した色のピクセルすべてを完全に囲む矩形領域を決定する方法を示します。

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

var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);

var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
myBitmapData.fillRect(new Rectangle(0, 0, 50, 40), 0x00FF0000);

mc.onPress = function() {
    var colorBoundsRect:Rectangle = myBitmapData.getColorBoundsRect(0x00FFFFFF, 0x00FF0000, true);
    trace(colorBoundsRect); // (x=0, y=0, w=50, h=40)
}

 

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

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