パッケージ | 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()
を使用します。フィルターの使用方法は、フィルターの適用先オブジェクトによって異なります。
- ムービークリップ、テキストフィールド、ボタン、およびビデオにフィルターを適用する場合は、DisplayObject から継承した
filters
プロパティを使用します。オブジェクトのfilters
プロパティを設定しても、オブジェクトは変更されません。filters
プロパティをクリアすることにより、フィルターを取り消すことができます。 - BitmapData オブジェクトにフィルターを適用するには、
BitmapData.applyFilter()
メソッドを使用します。BitmapData オブジェクトでapplyFilter()
を呼び出すことによって、ソース BitmapData オブジェクトとフィルターオブジェクトが取得され、フィルターを適用したイメージが生成されます。
表示オブジェクトにフィルターを適用すると、表示オブジェクトの cacheAsBitmap
プロパティは true
に設定されます。すべてのフィルターを削除すると、cacheAsBitmap
の元の値が復元されます。
このフィルターはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体が拡大 / 縮小される場合(scaleX
と scaleY
が 100% に設定されていない場合)、フィルター効果は拡大 / 縮小されません。フィルターが拡大 / 縮小されるのは、ユーザーがステージをズームインする場合のみです。
結果として得られるイメージが最大サイズを超えると、フィルターは適用されません。AIR 1.5 および Flash Player 10 における最大サイズは、幅または高さが 8,191 ピクセルで、合計のピクセル数は 16,777,215 ピクセルを超えないようにしてください(つまり、幅が 8,191 ピクセルのイメージでは、高さが 2,048 ピクセルになります)。Flash Player 9 以前および AIR 1.1 以前では、高さの限界は 2,880 ピクセルで幅の限界は 2,880 ピクセルです。 例えば、フィルターが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが最大サイズを超える場合は、フィルターがオフになります。
関連する API エレメント
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
プロパティ | 定義元 | ||
---|---|---|---|
blurX : Number
水平方向のぼかし量。 | BlurFilter | ||
blurY : Number
垂直方向のぼかし量。 | BlurFilter | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
quality : int
ぼかしの実行回数です。 | BlurFilter |
メソッド | 定義元 | ||
---|---|---|---|
指定されたパラメーターでフィルターを初期化します。 | BlurFilter | ||
[オーバーライド]
このフィルターオブジェクトのコピーを返します。 | BlurFilter | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
blurX | プロパティ |
blurY | プロパティ |
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(); } } }
Tue Jun 12 2018, 10:34 AM Z