generateFilterRect (BitmapData.generateFilterRect メソッド)

public generateFilterRect(sourceRect: Rectangle , filter: BitmapFilter ) : Rectangle

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

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

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

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

パラメータ

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

filter:BitmapFilter - ターゲット矩形を算出するために使用するフィルタオブジェクト。

戻り値

Rectangle - イメージ、sourceRect パラメータ、およびフィルタを使用して算出されるターゲット矩形。

次の例では、applyfilter() メソッドが影響を及ぼすターゲット矩形を決定する方法を示します。

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

var myBitmapData:BitmapData = new BitmapData(100, 80, true, 0xCCCCCCCC);

var filter:BevelFilter = new BevelFilter(5, 45, 0xFFFF00, 0.8, 0x0000FF, 0.8, 20, 20, 1, 3, "outter", false);

var filterRect:Rectangle = myBitmapData.generateFilterRect(myBitmapData.rectangle, filter);

trace(filterRect); // (x=-31, y=-31, w=162, h=142)

 

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

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