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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

GradientGlowFilter クラスを使用すると、表示オブジェクトにグラデーショングロー効果を適用できます。グラデーショングローとは、制御可能なカラーグラデーションによるリアルな輝きです。グラデーショングローは、オブジェクトの内側エッジや外側エッジの周囲、またはオブジェクトの上に適用できます。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。

フィルタの使用方法は、フィルタの適用先オブジェクトによって異なります。

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

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

結果として得られるイメージの幅または高さが 2880 ピクセルを超える場合、フィルタは適用されません。たとえば、フィルタが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが 2880 ピクセルの制限を超える場合は、フィルタがオフになります。

例を表示

関連項目

GradientGlowFilter.ratios
flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.filters
GlowFilter クラス


パブリック プロパティ
 プロパティ定義元
  alphas : Array
カラー配列内の各色に対応するアルファ透明度の値の配列です。
GradientGlowFilter
  angle : Number
角度 (度数) です。
GradientGlowFilter
  blurX : Number
水平方向のぼかし量。
GradientGlowFilter
  blurY : Number
垂直方向のぼかし量。
GradientGlowFilter
  colors : Array
グラデーションを定義する色の配列です。
GradientGlowFilter
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  distance : Number
グローのオフセット距離です。
GradientGlowFilter
  knockout : Boolean
オブジェクトにノックアウト効果を適用するかどうかを指定します。
GradientGlowFilter
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  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
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
alphasプロパティ
alphas:Array  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

colors 配列内の各色に対応するアルファ透明度の値の配列です。配列の各エレメントに指定できる値は、0 ~ 1 です。たとえば、.25 を指定すると、アルファ透明度の値として 25% が設定されます。

alphas プロパティの値を直接変更することはできません。このプロパティを変更するには、alphas への参照を取得し、その参照を変更した後、alphas をその参照に設定する必要があります。

colorsalphas、および ratios の 3 つのプロパティは関連しています。colors 配列の先頭のエレメントが alphas 配列と ratios 配列の先頭のエレメントに対応するなど、3 つの配列の同じインデックスのエレメントが互いに対応しています。


実装
    public function get alphas():Array
    public function set alphas(value:Array):void

例外
TypeError — 配列は、設定時に null に設定されます。

関連項目

angleプロパティ 
angle:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

角度 (度数) です。指定できる値は 0 ~ 360 です。デフォルトは 45 です。

角度の値は、オブジェクトに対する架空の光源の角度を表し、オブジェクトに対する効果の相対位置を決定します。distance が 0 に設定されている場合、効果がオブジェクトからオフセットされないので、angle プロパティはオブジェクトに影響しません。


実装
    public function get angle():Number
    public function set angle(value:Number):void
blurXプロパティ 
blurX:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

水平方向のぼかし量。指定できる値は 0 ~ 255 です。1 以下の値を指定すると、元のイメージがそのままコピーされます。デフォルト値は 4 です。2 のべき乗 (2、4、8、16、32 など) は、他の値と比べて速くレンダリングできるよう最適化されます。


実装
    public function get blurX():Number
    public function set blurX(value:Number):void
blurYプロパティ 
blurY:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

垂直方向のぼかし量。指定できる値は 0 ~ 255 です。1 以下の値を指定すると、元のイメージがそのままコピーされます。デフォルト値は 4 です。2 のべき乗 (2、4、8、16、32 など) は、他の値と比べて速くレンダリングできるよう最適化されます。


実装
    public function get blurY():Number
    public function set blurY(value:Number):void
colorsプロパティ 
colors:Array  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

グラデーションを定義する色の配列です。たとえば、赤は 0xFF0000、青は 0x0000FF などです。

colors プロパティの値を直接変更することはできません。このプロパティを変更するには、colors への参照を取得し、その参照を変更した後、colors をその参照に設定する必要があります。

colorsalphas、および ratios の 3 つのプロパティは関連しています。colors 配列の先頭のエレメントが alphas 配列と ratios 配列の先頭のエレメントに対応するなど、3 つの配列の同じインデックスのエレメントが互いに対応しています。


実装
    public function get colors():Array
    public function set colors(value:Array):void

例外
TypeError — 配列は、設定時に null に設定されます。

関連項目

distanceプロパティ 
distance:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

グローのオフセット距離です。デフォルト値は 4 です。


実装
    public function get distance():Number
    public function set distance(value:Number):void
knockoutプロパティ 
knockout:Boolean  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

オブジェクトにノックアウト効果を適用するかどうかを指定します。ノックアウト効果を適用すると、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。true を指定すると、ノックアウト効果が適用されます。デフォルト値は false で、ノックアウト効果は適用されません。


実装
    public function get knockout():Boolean
    public function set knockout(value:Boolean):void
qualityプロパティ 
quality:int  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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


実装
    public function get quality():int
    public function set quality(value:int):void

関連項目

ratiosプロパティ 
ratios:Array  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

colors 配列内の対応する色の色分布比率の配列です。指定できる値は 0 ~ 255 です。

ratios プロパティの値を直接変更することはできません。このプロパティを変更するには、ratios への参照を取得し、その参照を変更した後、ratios をその参照に設定する必要があります。

colorsalphas、および 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" に設定します。次のイメージで結果を比較してください。

グラデーションの色の広がりは、blurXblurYstrengthquality プロパティの値、および ratios 値に基づいて変化します。


実装
    public function get ratios():Array
    public function set ratios(value:Array):void

例外
TypeError — 配列は、設定時に null に設定されます。

関連項目

strengthプロパティ 
strength:Number  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

インプリントの強さまたは広がりです。値が大きいほど、濃い色がインプリントされるので、グローと背景との間のコントラストが強くなります。指定できる値は 0 ~ 255 です。値を 0 にすると、フィルタが適用されなくなります。デフォルト値は 1 です。


実装
    public function get strength():Number
    public function set strength(value:Number):void
typeプロパティ 
type:String  [read-write]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

フィルタ効果の配置です。指定できる値は、flash.filters.BitmapFilterType 定数です。


実装
    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
Player のバージョン : 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 定数を使用します。
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

詳細については、quality プロパティの説明を参照してください。

 
type:String (default = "inner") — フィルタ効果の配置です。指定できる値は、flash.filters.BitmapFilterType 定数です。
  • BitmapFilterType.OUTER - グローがオブジェクトの外側エッジに配置されます。
  • BitmapFilterType.INNER - グローがオブジェクトの内側エッジに配置されます。これはデフォルトです。
  • BitmapFilterType.FULL - グローがオブジェクトの上に配置されます。
 
knockout:Boolean (default = false) — オブジェクトにノックアウト効果を適用するかどうかを指定します。ノックアウト効果を適用すると、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。true を指定すると、ノックアウト効果が適用されます。デフォルトは false で、ノックアウト効果は適用されません。
メソッドの詳細
clone()メソッド
public override function clone():BitmapFilter

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

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

次の例では、四角形を描画してグラデーショングローフィルタを適用します。この例に対する一般的なワークフローは、次のようになります。
  1. 必要なクラスを読み込みます。
  2. 四角形とフィルタの定義に使用するグローバル変数を宣言します。
  3. コンストラクタ関数を作成します。この関数は、次の処理を行います。
    • 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();
        }
    }
}




 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/filters/GradientGlowFilter.html