| パッケージ | flash.filters |
| クラス | public final class BlurFilter |
| 継承 | BlurFilter BitmapFilter Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
quality プロパティを低く設定すると、ソフトフォーカスがかかっているように見えるぼかしになります。quality プロパティを高く設定すると、ガウスぼかしフィルタに似たものになります。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。
新しいフィルタを作成するには、コンストラクタ new BlurFilter() を使用します。 フィルタの使用方法は、フィルタの適用先オブジェクトによって異なります。
filters プロパティを使用します。オブジェクトの filters プロパティを設定しても、オブジェクトは変更されません。filters プロパティをクリアすることにより、フィルタを取り消すことができます。
BitmapData.applyFilter() メソッドを使用します。BitmapData オブジェクトで applyFilter() を呼び出すことによって、ソース BitmapData オブジェクトとフィルタオブジェクトが取得され、フィルタを適用したイメージが生成されます。
表示オブジェクトにフィルタを適用すると、表示オブジェクトの cacheAsBitmap プロパティは true に設定されます。 すべてのフィルタを削除すると、cacheAsBitmap の元の値が復元されます。
このフィルタはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体が拡大 / 縮小される場合(scaleX と scaleY が 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 ピクセルです。例えば、フィルタが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが最大サイズを超える場合は、フィルタがオフになります。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| blurX : Number 水平方向のぼかし量。 | BlurFilter | ||
| blurY : Number 垂直方向のぼかし量。 | BlurFilter | ||
![]() | constructor : Object 指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
![]() | prototype : Object [静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| quality : int ぼかしの実行回数です。 | BlurFilter | ||
| メソッド | 定義元 | ||
|---|---|---|---|
指定されたパラメータでフィルタを初期化します。 | BlurFilter | ||
このフィルタオブジェクトのコピーを返します。 | BlurFilter | ||
![]() | オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() | Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() | 指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() | ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() | 指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() | 指定されたオブジェクトのプリミティブな値を返します。 | 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 の値を増やす代わりに、blurX と blurY の各プロパティの値を増やすだけで、同様の効果が得られます。この方法を実行すると、より高速にレンダリングされます。
次の BitmapFilterQuality 定数を使用して、quality プロパティの値を指定できます。
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
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 定数を使用して指定できます。
高品質にすると、ガウスぼかしに似たものになります。多くのアプリケーションでは、これら 3 つの値で十分です。最大 15 までの値を使用して様々な効果を出すことができますが、値が大きくなるほどレンダリング速度が低下することに注意してください。 |
| clone | () | メソッド |
override public function clone():BitmapFilter| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
このフィルタオブジェクトのコピーを返します。
戻り値BitmapFilter — 元の BlurFilter インスタンスとプロパティがすべて同じである新しい BlurFilter インスタンスです。 |
draw() 関数で使用する 3 つのプロパティを宣言します。この関数は、ぼかしフィルタを適用するオブジェクトを描画します。
BlurFilterExample() コンストラクタ関数を作成します。この関数は、次の処理を行います。
draw() 関数を呼び出します。この関数は後で宣言されます。
filter 変数を BitmapFilter オブジェクトとして宣言し、これを getBitmapFilter() を呼び出した戻り値に割り当てます。
myFilters を作成し、配列に filter を追加します。さらに myFilters を BlurFilterExample オブジェクトの filters プロパティに割り当てます。 これにより、myFilters で見つかったすべてのフィルタが適用されます。この場合は、filter だけです。
getBitmapFilter() 関数を作成し、フィルタのプロパティを作成して設定します。
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();
}
}
}