パッケージ | flash.filters |
クラス | public final class GradientGlowFilter |
継承 | GradientGlowFilter BitmapFilter Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
フィルターの使用方法は、フィルターの適用先オブジェクトによって異なります。
- 表示オブジェクトにフィルターを適用する場合は、
filters
プロパティを使用します。オブジェクトのfilters
プロパティを設定しても、オブジェクトは変更されません。filters
プロパティをクリアすることにより、フィルターを取り消すことができます。 - BitmapData オブジェクトにフィルターを適用するには、
BitmapData.applyFilter()
メソッドを使用します。BitmapData オブジェクトでapplyFilter()
を呼び出すことによって、ソース BitmapData オブジェクトとフィルターオブジェクトが取得され、フィルターを適用したイメージが生成されます。
表示オブジェクトにフィルターを適用すると、表示オブジェクトの cacheAsBitmap
プロパティは true
に設定されます。すべてのフィルターをクリアすると、cacheAsBitmap
の元の値が復元されます。
このフィルターはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体を拡大 / 縮小する場合(scaleX
と scaleY
の値が 1.0 以外に設定されている場合)、フィルター効果は拡大 / 縮小されません。フィルターが拡大 / 縮小されるのは、ユーザーがステージをズームインする場合のみです。
結果として得られるイメージが最大サイズを超えると、フィルターは適用されません。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.BitmapData.applyFilter()
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.filters
GlowFilter class
プロパティ | 定義元 | ||
---|---|---|---|
alphas : Array
カラー配列内の各色に対応するアルファ透明度の値の配列です。 | GradientGlowFilter | ||
angle : Number
角度(度数)です。 | GradientGlowFilter | ||
blurX : Number
水平方向のぼかし量。 | GradientGlowFilter | ||
blurY : Number
垂直方向のぼかし量。 | GradientGlowFilter | ||
colors : Array
グラデーションを定義する色の配列です。 | GradientGlowFilter | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
distance : Number
グローのオフセット距離です。 | GradientGlowFilter | ||
knockout : Boolean
オブジェクトにノックアウト効果を適用するかどうかを指定します。 | GradientGlowFilter | ||
quality : int
フィルターを適用する回数。 | GradientGlowFilter | ||
ratios : Array
カラー配列内の対応するカラーの色分布比率の配列です。 | GradientGlowFilter | ||
strength : Number
インプリントの強さまたは広がりです。 | GradientGlowFilter | ||
type : String
フィルター効果の配置です。 | GradientGlowFilter |
メソッド | 定義元 | ||
---|---|---|---|
GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
指定されたパラメーターでフィルターを初期化します。 | GradientGlowFilter | ||
[オーバーライド]
このフィルターオブジェクトのコピーを返します。 | GradientGlowFilter | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
alphas | プロパティ |
alphas:Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
colors
配列内の各色に対応するアルファ透明度の値の配列です。配列の各エレメントに指定できる値は、0 ~ 1 です。例えば、.25 を指定すると、アルファ透明度の値として 25% が設定されます。
alphas
プロパティの値を直接変更することはできません。このプロパティを変更するには、alphas
への参照を取得し、その参照を変更した後、alphas
をその参照に設定する必要があります。
colors
、alphas
、および ratios
の 3 つのプロパティは関連しています。colors
配列の先頭のエレメントが alphas
配列と ratios
配列の先頭のエレメントに対応するなど、3 つの配列の同じインデックスのエレメントが互いに対応しています。
実装
public function get alphas():Array
public function set alphas(value:Array):void
例外
TypeError — 配列は、設定時に null に設定されます。
|
関連する API エレメント
angle | プロパティ |
angle:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
角度(度数)です。指定できる値は 0 ~ 360 です。デフォルト値は 45 です。
角度の値は、オブジェクトに対する架空の光源の角度を表し、オブジェクトに対する効果の相対位置を決定します。distance
が 0 に設定されている場合、効果がオブジェクトからオフセットされないので、angle
プロパティはオブジェクトに影響しません。
実装
public function get angle():Number
public function set angle(value:Number):void
blurX | プロパティ |
blurY | プロパティ |
colors | プロパティ |
colors:Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
グラデーションを定義する色の配列です。例えば、赤は 0xFF0000、青は 0x0000FF などです。
colors
プロパティの値を直接変更することはできません。このプロパティを変更するには、colors
への参照を取得し、その参照を変更した後、colors
をその参照に設定する必要があります。
colors
、alphas
、および ratios
の 3 つのプロパティは関連しています。colors
配列の先頭のエレメントが alphas
配列と ratios
配列の先頭のエレメントに対応するなど、3 つの配列の同じインデックスのエレメントが互いに対応しています。
実装
public function get colors():Array
public function set colors(value:Array):void
例外
TypeError — 配列は、設定時に null に設定されます。
|
関連する API エレメント
distance | プロパティ |
knockout | プロパティ |
knockout:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
オブジェクトにノックアウト効果を適用するかどうかを指定します。ノックアウト効果を適用すると、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。true
を指定すると、ノックアウト効果が適用されます。デフォルト値は false
で、ノックアウト効果は適用されません。
実装
public function get knockout():Boolean
public function set knockout(value:Boolean):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
の値を増やすだけで、同様の効果が得られます。この方法を実行すると、より高速にレンダリングされます。
実装
public function get quality():int
public function set quality(value:int):void
関連する API エレメント
ratios | プロパティ |
ratios:Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
colors
配列内の対応する色の色分布比率の配列です。指定できる値は 0 ~ 255 です。
ratios
プロパティの値を直接変更することはできません。このプロパティを変更するには、ratios
への参照を取得し、その参照を変更した後、ratios
をその参照に設定する必要があります。
colors
、alphas
、および ratios
の 3 つのプロパティは関連しています。colors
配列の先頭のエレメントが alphas
配列と ratios
配列の先頭のエレメントに対応するなど、3 つの配列の同じインデックスのエレメントが互いに対応しています。
グラデーショングローフィルターは、オブジェクトの中心(distance
が 0 に設定されている場合)から発せられる輝きであり、互いに混ざり合った色のストライプで構成されるグラデーションになります。colors
配列の先頭の色がグローの最も外側の色です。最後の色がグローの最も内側の色です。
ratios
配列の各値は、その色のグラデーションの範囲における位置を表します。0 はグラデーションの最も外側の点を表し、255 はグラデーションの最も内側の点を表します。色分布比率の値は、0 ~ 255 ピクセルの範囲で指定できます。例えば、[0, 64, 128, 200, 255] のように値を増やしていきます。0 ~ 128 の値は、グローの外側のエッジに表示されます。129 ~ 255 の値は、グローの内側の領域に表示されます。色の分布比率の値とフィルターの type
の値によっては、フィルターの適用先のオブジェクトによってフィルターの色が見えなくなることがあります。
次のコードとイメージでは、フィルターを黒い円のムービークリップに適用し、そのタイプを "full"
に設定しています。説明のため、colors
配列の先頭の色であるピンクの alpha
値を 1 にして、ドキュメントの白い背景の中で目立つようにしていますが、実際に先頭の色をこのように表示することはおそらくありません。配列の最後の色である黄色により、フィルターの適用先の黒い円が見えなくなっています。
var colors:Array = [0xFFCCFF, 0x0000FF, 0x9900FF, 0xFF0000, 0xFFFF00]; var alphas:Array = [1, 1, 1, 1, 1]; var ratios:Array = [0, 32, 64, 128, 225]; var myGGF:GradientGlowFilter = new GradientGlowFilter(0, 0, colors, alphas, ratios, 50, 50, 1, 2, "full", false);
type
を "outer"
または "full"
に設定したときに、ドキュメントの背景と一体になった効果を得るには、配列の先頭の色をドキュメントの背景と同じに色に設定するか、先頭の色のアルファ値を 0 に設定します。どちらの方法を使用しても、フィルターが背景に溶け込みます。
コードに小さな変更を 2 つ加えると、同じ ratios
配列と colors
配列でもグローの効果が大きく異なります。配列の先頭の色のアルファ値を 0 に設定してフィルターがドキュメントの白い背景に溶け込むようにし、type
プロパティを "outer"
または "inner"
に設定します。次のイメージで結果を比較してください。
グラデーションの色の広がりは、blurX
、blurY
、strength
、quality
プロパティの値、および ratios
値に基づいて変化します。
実装
public function get ratios():Array
public function set ratios(value:Array):void
例外
TypeError — 配列は、設定時に null に設定されます。
|
関連する API エレメント
strength | プロパティ |
type | プロパティ |
type:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
フィルター効果の配置です。指定できる値は、flash.filters.BitmapFilterType 定数です。
BitmapFilterType.OUTER
- グローがオブジェクトの外側エッジに配置されます。BitmapFilterType.INNER
- グローがオブジェクトの内側エッジに配置されます。これはデフォルトです。BitmapFilterType.FULL
- グローがオブジェクトの上に配置されます。
実装
public function get type():String
public function set type(value:String):void
例外
TypeError — 文字列は、設定時に null に設定されます。
|
GradientGlowFilter | () | コンストラクター |
public function GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
指定されたパラメーターでフィルターを初期化します。
パラメーターdistance:Number (default = 4.0 ) — グローのオフセット距離です。
| |
angle:Number (default = 45 ) — 角度(度数)です。指定できる値は 0 ~ 360 です。
| |
colors:Array (default = null ) — グラデーションを定義する色の配列です。例えば、赤は 0xFF0000、青は 0x0000FF などです。
| |
alphas:Array (default = null ) — colors 配列内の各色に対応するアルファ透明度の値の配列です。配列の各エレメントに指定できる値は、0 ~ 1 です。例えば、.25 と指定すると、アルファ透明度は 25% になります。
| |
ratios:Array (default = null ) — 色分布比率の配列です。指定できる値は 0 ~ 255 です。各値は、100% でサンプリングされる色の幅の割合をパーセントで定義します。
| |
blurX:Number (default = 4.0 ) — 水平方向のぼかし量。指定できる値は 0 ~ 255 です。1 以下の値を指定すると、元のイメージがそのままコピーされます。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。
| |
blurY:Number (default = 4.0 ) — 垂直方向のぼかし量。指定できる値は 0 ~ 255 です。1 以下の値を指定すると、元のイメージがそのままコピーされます。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。
| |
strength:Number (default = 1 ) — インプリントの強さまたは広がりです。値が大きいほど、濃い色がインプリントされるので、グローと背景との間のコントラストが強くなります。指定できる値は 0 ~ 255 です。値が大きいほど、インプリントが濃くなります。値を 0 にすると、フィルターが適用されなくなります。
| |
quality:int (default = 1 ) — フィルターを適用する回数。BitmapFilterQuality 定数を使用します。
詳細については、 | |
type:String (default = "inner ") — フィルター効果の配置です。指定できる値は、flash.filters.BitmapFilterType 定数です。
| |
knockout:Boolean (default = false ) — オブジェクトにノックアウト効果を適用するかどうかを指定します。ノックアウト効果を適用すると、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。true を指定すると、ノックアウト効果が適用されます。デフォルトは false で、ノックアウト効果は適用されません。
|
clone | () | メソッド |
override public function clone():BitmapFilter
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
このフィルターオブジェクトのコピーを返します。
戻り値BitmapFilter — 元の GradientGlowFilter インスタンスとプロパティがすべて同じである新しい GradientGlowFilter インスタンスです。
|
- 必要なクラスを読み込みます。
- 正方形とフィルターの定義に使用するグローバル変数を宣言します。
- コンストラクター関数を作成します。この関数は、次の処理を行います。
draw()
メソッドを呼び出し、Sprite のgraphics
プロパティを介してアクセスする Graphics クラスのメソッドを使用して四角形を描画します。filter
という名前の BitmapFilter オブジェクトを作成し、このオブジェクトにgetBitmapFilter()
の呼び出しによる戻り値を割り当てます。これでフィルターが作成されます。myFilters
という名前の新しい配列を作成し、それにfilter
を追加します。myFilters
を GradientGlowFilterExample オブジェクトのfilters
プロパティに割り当てます。これにより、myFilters
で見つかったすべてのフィルターが適用されます。この場合は、filter
だけです。
package { import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; import flash.filters.GradientGlowFilter; import flash.display.Sprite; public class GradientGlowFilterExample extends Sprite { private var bgColor:uint = 0xCCCCCC; private var size:uint = 80; private var offset:uint = 50; private var distance:Number = 0; private var angleInDegrees:Number = 45; private var colors:Array = [0xFFFFFF, 0xFF0000, 0xFFFF00, 0x00CCFF]; private var alphas:Array = [0, 1, 1, 1]; private var ratios:Array = [0, 63, 126, 255]; private var blurX:Number = 50; private var blurY:Number = 50; private var strength:Number = 2.5; private var quality:Number = BitmapFilterQuality.HIGH; private var type:String = BitmapFilterType.OUTER; private var knockout:Boolean = false; public function GradientGlowFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { return new GradientGlowFilter(distance, angleInDegrees, colors, alphas, ratios, blurX, blurY, strength, quality, type, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 10:34 AM Z