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

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

GradientBevelFilter クラスを使用すると、オブジェクトにグラデーションベベル効果を適用し、表示できます。グラデーションベベルは、オブジェクトの外側、内側、または上側が斜めになったエッジであり、グラデーションカラーで強調されます。斜めのエッジによってオブジェクトが 3 次元に見えます。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。

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

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

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

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

例を表示

関連項目

GradientBevelFilter.ratios
flash.display.BitmapData.applyFilter()
BevelFilter
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap


パブリック プロパティ
 プロパティ定義元
  alphas : Array
カラー配列内の各色に対応するアルファ透明度の値の配列です。
GradientBevelFilter
  angle : Number
角度 (度数) です。
GradientBevelFilter
  blurX : Number
水平方向のぼかし量。
GradientBevelFilter
  blurY : Number
垂直方向のぼかし量。
GradientBevelFilter
  colors : Array
グラデーションで使用する RGB 16 進数カラー値の配列です。
GradientBevelFilter
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  distance : Number
オフセット距離です。
GradientBevelFilter
  knockout : Boolean
オブジェクトにノックアウト効果を適用するかどうかを指定します。
GradientBevelFilter
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  quality : int
フィルタを適用する回数。
GradientBevelFilter
  ratios : Array
カラー配列内の対応するカラーの色分布比率の配列です。
GradientBevelFilter
  strength : Number
インプリントの強さまたは広がりです。
GradientBevelFilter
  type : String
ベベル効果の配置です。
GradientBevelFilter
パブリック メソッド
 メソッド定義元
  
GradientBevelFilter(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)
指定されたパラメータでフィルタを初期化します。
GradientBevelFilter
  
このフィルタオブジェクトのコピーを返します。
GradientBevelFilter
 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 です。

角度の値は、オブジェクトに向けられる架空の光源の角度を表します。この値によって、グラデーションカラーがオブジェクトに適用されるときの角度を設定します。これによりハイライトとシャドウの現れる場所や、配列の先頭の色が現れる場所が決まります。先頭の色を適用する場所が決まると、他の色が配列内に格納されている順に適用されます。


実装
    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

グラデーションで使用する RGB 16 進数カラー値の配列です。たとえば、赤は 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

オフセット距離です。指定できる値は 0 ~ 8 です。デフォルト値は 4.0 です。


実装
    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 つの配列の同じインデックスのエレメントが互いに対応しています。

グラデーションベベルで色の分布がどのようになるかを理解するために、まず、グラデーションベベルで使用する色を考えます。ベベルを単純化すると、ハイライト 1 色とシャドウ 1 色で構成されています。グラデーションベベルには 1 つのハイライトグラデーションと 1 つのシャドウグラデーションがあります。ハイライトを左上隅に表示し、シャドウを右下隅に表示するとします。ここでは、一例として、ハイライトに 4 色、シャドウに 4 色を使用します。ハイライトとシャドウに加え、ハイライトとシャドウのエッジが交差する部分にベース塗りの色を使用します。この場合、合計 9 色を使用するので、色分布比率の配列のエレメント数は 9 です。

グラデーションを互いに混ざり合ったさまざまな色のストライプで構成されているものと考えた場合、色分布比率の値は、その色のグラデーションの範囲内における位置を表します。この位置は、0 がグラデーションの最も外側の点を表し、255 がグラデーションの最も内側の点を表します。通常、中間値は 128 で、これがベース塗りの値になります。下のイメージのベベル効果を得るには、9 色の例を使用して色分布比率の値を次のように設定します。

各エッジの色分布を同じにする場合は、中間色がベース塗りになるように、使用する色数を奇数にします。0 ~ 127 と 129 ~ 255 の範囲で色を均等に分布した後、値を調整してグラデーションの各色のストライプの幅を変更します。9 色のグラデーションベベルの場合、[16, 32, 64, 96, 128, 160, 192, 224, 235] のような配列が考えられます。次の図は、ここまで説明したグラデーションベベルを表しています。

グラデーションの色の広がりは、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

ベベル効果の配置です。指定できる値は、BitmapFilterType 定数です。


実装
    public function get type():String
    public function set type(value:String):void
コンストラクタの詳細
GradientBevelFilter()コンストラクタ
public function GradientBevelFilter(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) — オフセット距離です。指定できる値は 0 ~ 8 です。
 
angle:Number (default = 45) — 角度 (度数) です。指定できる値は 0 ~ 360 です。
 
colors:Array (default = null) — グラデーションで使用する RGB 16 進数カラー値の配列です。たとえば、赤は 0xFF0000、青は 0x0000FF などです。
 
alphas:Array (default = null)colors 配列内の各色に対応するアルファ透明度の値の配列です。配列の各エレメントに指定できる値は、0 ~ 1 です。たとえば、.25 を指定すると、透明度の値として 25% が設定されます。
 
ratios:Array (default = null) — 色分布比率の配列です。0 ~ 255 の範囲の値を指定できます。
 
blurX:Number (default = 4.0) — 水平方向のぼかし量。指定できる値は 0 ~ 255 です。1 以下の値を指定すると、元のイメージがそのままコピーされます。デフォルト値は 4 です。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") — ベベル効果の配置です。指定できる値は、BitmapFilterType 定数です。
  • BitmapFilterType.OUTER - ベベルがオブジェクトの外側エッジに配置されます。
  • BitmapFilterType.INNER - ベベルがオブジェクトの内側エッジに配置されます。
  • BitmapFilterType.FULL - ベベルがオブジェクトの上に配置されます。
 
knockout:Boolean (default = false) — ノックアウト効果を適用するかどうかを指定します。true を指定すると、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。

関連項目

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

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

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

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

次の例では、四角形を描画してグラデーションベベルフィルタを適用します。この例に対する一般的なワークフローは、次のようになります。
  1. 必要なクラスを読み込みます。
  2. 四角形とフィルタを定義するグローバル変数を宣言します。
  3. コンストラクタ関数を作成します。この関数は、次の処理を行います。
    • draw() メソッドを呼び出し、Sprite の graphics プロパティを介してアクセスする Graphics クラスのメソッドを使用して灰色の四角形を描画します。
    • filter という名前の BitmapFilter オブジェクトを作成し、このオブジェクトに getBitmapFilter() の呼び出しによる戻り値を割り当てます。これでフィルタが作成されます。
    • myFilters という名前の新しい配列を作成し、それに filter を追加します。
    • myFilters を GradientBevelFilterExample オブジェクトの filters プロパティに割り当てます。これにより、myFilters で見つかったすべてのフィルタが適用されます。この場合は、filter だけです。

package {
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BitmapFilterType;
    import flash.filters.GradientBevelFilter;

    public class GradientBevelFilterExample extends Sprite {
        private var bgColor:uint     = 0xCCCCCC;
        private var size:uint        = 80;
        private var offset:uint      = 50;
        private var distance:Number  = 5;
        private var angleInDegrees:Number = 225; // opposite 45 degrees
        private var colors:Array     = [0xFFFFFF, 0xCCCCCC, 0x000000];
        private var alphas:Array     = [1, 0, 1];
        private var ratios:Array     = [0, 128, 255];
        private var blurX:Number     = 8;
        private var blurY:Number     = 8;
        private var strength:Number  = 2;
        private var quality:Number   = BitmapFilterQuality.HIGH
        private var type:String      = BitmapFilterType.INNER;
        private var knockout:Boolean = true;

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

        private function getBitmapFilter():BitmapFilter {
            return new GradientBevelFilter(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/GradientBevelFilter.html