パッケージflash.filters
クラスpublic final class BlurFilter
継承BlurFilter Inheritance BitmapFilter Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

BlurFilter クラスを使用すると、表示オブジェクトにぼかし効果を適用できます。ぼかし効果は、イメージの細部をぼかします。ソフトフォーカスがかかっているように見えるぼかしから、半透明ガラスを通してイメージを見るようにかすんで見えるガウスぼかしまで作成できます。このフィルタの quality プロパティを低く設定すると、ソフトフォーカスがかかっているように見えるぼかしになります。quality プロパティを高く設定すると、ガウスぼかしフィルタに似たものになります。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。

新しいフィルタを作成するには、コンストラクタ new BlurFilter() を使用します。 フィルタの使用方法は、フィルタの適用先オブジェクトによって異なります。

表示オブジェクトにフィルタを適用すると、表示オブジェクトの cacheAsBitmap プロパティは true に設定されます。 すべてのフィルタを削除すると、cacheAsBitmap の元の値が復元されます。

このフィルタはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体が拡大 / 縮小される場合(scaleXscaleY が 100 %に設定されていない場合)、フィルタ効果は拡大 / 縮小されません。 フィルタが拡大 / 縮小されるのは、ユーザーがステージをズームインする場合のみです。

結果として得られるイメージが最大サイズを超える場合は、フィルタは適用されません。AIR 1.5 および Flash Player 10 では、幅または高さの最大サイズは 8,192 ピクセル、ピクセル総数は 16,777,216 ピクセルです(したがって、イメージの幅が 8,192 ピクセルの場合、高さを 2,048 ピクセル以下にする必要があります)。Flash Player 9 以前および AIR 1.1 以前では、高さの制限は 2,880 ピクセル、幅の制限は 2,880 ピクセルです。例えば、フィルタが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが最大サイズを超える場合は、フィルタがオフになります。

例を表示

関連項目

flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()


パブリックプロパティ
 プロパティ定義元
  blurX : Number
水平方向のぼかし量。
BlurFilter
  blurY : Number
垂直方向のぼかし量。
BlurFilter
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  quality : int
ぼかしの実行回数です。
BlurFilter
パブリックメソッド
 メソッド定義元
  
BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
指定されたパラメータでフィルタを初期化します。
BlurFilter
  
このフィルタオブジェクトのコピーを返します。
BlurFilter
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
blurXプロパティ
blurX:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

水平方向のぼかし量。指定できる値は 0 ~ 255(浮動小数)です。デフォルト値は 4 です。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。



実装
    public function get blurX():Number
    public function set blurX(value:Number):void
blurYプロパティ 
blurY:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

垂直方向のぼかし量。指定できる値は 0 ~ 255(浮動小数)です。デフォルト値は 4 です。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。



実装
    public function get blurY():Number
    public function set blurY(value:Number):void
qualityプロパティ 
quality:int  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ぼかしの実行回数です。デフォルト値は、フィルタを 1 回適用することに相当する BitmapFilterQuality.LOW です。 値 BitmapFilterQuality.MEDIUM はフィルタを 2 回適用します。値 BitmapFilterQuality.HIGH はフィルタを 3 回適用し、ガウスぼかしに近似したものになります。フィルタに設定された値が小さいほど、速くレンダリングできます。

多くのアプリケーションでは、quality の値は低、中、または高で十分です。最大 15 までの値を使用してぼかしを適用する回数を増やすことができますが、値が大きくなるほどレンダリング速度が低下することに注意してください。quality の値を増やす代わりに、blurXblurY の各プロパティの値を増やすだけで、同様の効果が得られます。この方法を実行すると、より高速にレンダリングされます。

次の BitmapFilterQuality 定数を使用して、quality プロパティの値を指定できます。



実装
    public function get quality():int
    public function set quality(value:int):void
コンストラクタの詳細
BlurFilter()コンストラクタ
public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定されたパラメータでフィルタを初期化します。デフォルト値では、ソフトフォーカスのかかったイメージが作成されます。

パラメータ
blurX:Number (default = 4.0) — 水平方向のぼかし量。指定できる値は 0 ~ 255.0(浮動小数値)です。
 
blurY:Number (default = 4.0) — 垂直方向のぼかし量。指定できる値は 0 ~ 255.0(浮動小数値)です。
 
quality:int (default = 1) — フィルタを適用する回数。品質は BitmapFilterQuality 定数を使用して指定できます。
  • flash.filters.BitmapFilterQuality.LOW
  • flash.filters.BitmapFilterQuality.MEDIUM
  • flash.filters.BitmapFilterQuality.HIGH

高品質にすると、ガウスぼかしに似たものになります。多くのアプリケーションでは、これら 3 つの値で十分です。最大 15 までの値を使用して様々な効果を出すことができますが、値が大きくなるほどレンダリング速度が低下することに注意してください。

メソッドの詳細
clone()メソッド
override public function clone():BitmapFilter

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

このフィルタオブジェクトのコピーを返します。

戻り値
BitmapFilter — 元の BlurFilter インスタンスとプロパティがすべて同じである新しい BlurFilter インスタンスです。
例の使用法
BlurFilterExample.as

次の例では、暗い黄色の四角形を作成し、ガウスぼかしフィルタをその四角形に適用します。この例に対する一般的なワークフローは、次のようになります。
  1. 必要なクラスを読み込みます。
  2. draw() 関数で使用する 3 つのプロパティを宣言します。この関数は、ぼかしフィルタを適用するオブジェクトを描画します。
  3. BlurFilterExample() コンストラクタ関数を作成します。この関数は、次の処理を行います。
    • draw() 関数を呼び出します。この関数は後で宣言されます。
    • filter 変数を BitmapFilter オブジェクトとして宣言し、これを getBitmapFilter() を呼び出した戻り値に割り当てます。
    • 新しい配列オブジェクト myFilters を作成し、配列に filter を追加します。さらに myFilters を BlurFilterExample オブジェクトの filters プロパティに割り当てます。 これにより、myFilters で見つかったすべてのフィルタが適用されます。この場合は、filter だけです。
  4. getBitmapFilter() 関数を作成し、フィルタのプロパティを作成して設定します。
  5. draw() 関数を作成します。この関数は、Sprite クラスの graphics プロパティを介してアクセスする Graphics クラスのメソッドを使用して、四角形を描画します。
package {
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BlurFilter;

    public class BlurFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

        public function BlurFilterExample() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }

        private function getBitmapFilter():BitmapFilter {
            var blurX:Number = 30;
            var blurY:Number = 30;
            return new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}