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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

BevelFilter クラスを使用すると、表示オブジェクトにベベル効果を追加できます。ボタンなどのオブジェクトにベベル効果を適用すると 3 次元的に表現されます。異なるハイライトカラー、シャドウカラー、ベベルのぼかし量、ベベルの角度、ベベルの配置、ノックアウト効果を使用して、ベベルの外観をカスタマイズできます。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。

新しいフィルタを作成するには、コンストラクタ new BevelFilter() を使用します。 フィルタの使用方法は、フィルタの適用先オブジェクトによって異なります。

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

このフィルタはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体が拡大 / 縮小される場合(scaleXscaleY プロパティが 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 ピクセルです。例えば、フィルタが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが最大サイズを超える場合は、フィルタがオフになります。

例を表示

関連項目

flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()


パブリックプロパティ
 プロパティ定義元
  angle : Number
ベベルの角度です。
BevelFilter
  blurX : Number
水平方向のぼかし量(ピクセル単位)です。
BevelFilter
  blurY : Number
垂直方向のぼかし量(ピクセル単位)です。
BevelFilter
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  distance : Number
ベベルのオフセット距離です。
BevelFilter
  highlightAlpha : Number
ハイライトカラーのアルファ透明度の値です。
BevelFilter
  highlightColor : uint
ベベルのハイライトカラーです。
BevelFilter
  knockout : Boolean
true の場合は、ノックアウト効果を適用します。その結果、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。
BevelFilter
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  quality : int
フィルタを適用する回数。
BevelFilter
  shadowAlpha : Number
シャドウカラーのアルファ透明度の値です。
BevelFilter
  shadowColor : uint
ベベルのシャドウカラーです。
BevelFilter
  strength : Number
インプリントの強さまたは広がりです。
BevelFilter
  type : String
オブジェクトでのベベルの配置です。
BevelFilter
パブリックメソッド
 メソッド定義元
  
BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
指定されたパラメータで新しい BevelFilter インスタンスを初期化します。
BevelFilter
  
このフィルタオブジェクトのコピーを返します。
BevelFilter
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
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プロパティ 
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
distanceプロパティ 
distance:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ベベルのオフセット距離です。この値はピクセル単位で指定します(浮動小数値)。デフォルト値は 4 です。



実装
    public function get distance():Number
    public function set distance(value:Number):void
highlightAlphaプロパティ 
highlightAlpha:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ハイライトカラーのアルファ透明度の値です。値には、0 ~ 1 の正規化した値を指定します。例えば、.25 を指定すると、透明度の値として 25% が設定されます。デフォルト値は 1 です。



実装
    public function get highlightAlpha():Number
    public function set highlightAlpha(value:Number):void
highlightColorプロパティ 
highlightColor:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ベベルのハイライトカラーです。指定できる値は、16 進数形式 (0xRRGGBB) です。 デフォルト値は 0xFFFFFF です。



実装
    public function get highlightColor():uint
    public function set highlightColor(value:uint):void
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 の値を増やす代わりに、blurXblurY の各プロパティの値を増やすだけで、同様の効果が得られます。この方法を実行すると、より高速にレンダリングされます。

次の BitmapFilterQuality 定数を使用して、quality プロパティの値を指定できます。



実装
    public function get quality():int
    public function set quality(value:int):void
shadowAlphaプロパティ 
shadowAlpha:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

シャドウカラーのアルファ透明度の値です。値には、0 ~ 1 の正規化した値を指定します。例えば、.25 を指定すると、透明度の値として 25% が設定されます。デフォルト値は 1 です。



実装
    public function get shadowAlpha():Number
    public function set shadowAlpha(value:Number):void
shadowColorプロパティ 
shadowColor:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ベベルのシャドウカラーです。指定できる値は、16 進数形式 (0xRRGGBB) です。 デフォルト値は 0x000000 です。



実装
    public function get shadowColor():uint
    public function set shadowColor(value:uint):void
strengthプロパティ 
strength:Number  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

インプリントの強さまたは広がりです。有効な値の範囲は 0 ~ 255 です。値が大きいほど、濃い色がインプリントされるので、ベベルと背景との間のコントラストが強くなります。デフォルト値は 1 です。



実装
    public function get strength():Number
    public function set strength(value:Number):void
typeプロパティ 
type:String  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

オブジェクトでのベベルの配置です。内側および外側のベベルは、内側または外側のエッジに配置され、フルベベルはオブジェクト全体に配置されます。指定できる値は、次の BitmapFilterType 定数です。



実装
    public function get type():String
    public function set type(value:String):void

例外
TypeError — 文字列は、設定時に null に設定されます。
コンストラクタの詳細
BevelFilter()コンストラクタ
public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, 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

指定されたパラメータで新しい BevelFilter インスタンスを初期化します。

パラメータ
distance:Number (default = 4.0) — ベベルのオフセット距離(ピクセル単位)です(浮動小数)。
 
angle:Number (default = 45) — ベベルの角度(0 ~ 360 度)です。
 
highlightColor:uint (default = 0xFFFFFF) — ベベルのハイライトカラー 0xRRGGBB です。
 
highlightAlpha:Number (default = 1.0) — ハイライトカラーのアルファ透明度の値です。0.0 ~ 1.0 の値を指定できます。例えば .25 と指定すると、透明度は 25% になります。
 
shadowColor:uint (default = 0x000000) — ベベルのシャドウカラー 0xRRGGBB です。
 
shadowAlpha:Number (default = 1.0) — シャドウカラーのアルファ透明度の値です。0.0 ~ 1.0 の値を指定できます。例えば .25 と指定すると、透明度は 25% になります。
 
blurX:Number (default = 4.0) — 水平方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255.0(浮動小数)です。
 
blurY:Number (default = 4.0) — 垂直方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255.0(浮動小数)です。
 
strength:Number (default = 1) — インプリントの強さまたは広がりです。値が大きいほど、濃い色がインプリントされるので、ベベルと背景との間のコントラストが強くなります。指定できる値は 0 ~ 255.0 です。
 
quality:int (default = 1) — ベベルの品質です。指定できる値は 0 ~ 15 ですが、多くのアプリケーションでは BitmapFilterQuality 定数を使用できます。
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

フィルタに設定された値が小さいほど、速くレンダリングできます。指定できる他の数値を使用すると、異なる効果を作り出すことができます。

 
type:String (default = "inner") — ベベルの種類です。指定できる値は、次の BitmapFilterType 定数です。BitmapFilterType.INNERBitmapFilterType.OUTER または BitmapFilterType.FULL
 
knockout:Boolean (default = false)true の場合は、ノックアウト効果を適用します。その結果、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。

関連項目

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

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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

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

次の例では、暗い黄色の四角形を作成し、明るい黄色(0xFFFF00)のハイライトと青(0x0000FF)のシャドウでベベルを適用します。この例に対する一般的なワークフローは、次のようになります。
  1. 必要なクラスを読み込みます。
  2. draw() 関数で使用する 3 つのプロパティを宣言します。この関数は、ベベルフィルタを適用するオブジェクトを描画します。
  3. BevelFilterExample() コンストラクタ関数を作成します。この関数は、次の処理を行います。
    • draw() 関数を呼び出します。この関数は後で宣言されます。
    • filter 変数を BitmapFilter オブジェクトとして宣言し、これを getBitmapFilter() を呼び出した戻り値に割り当てます。
    • 新しい配列オブジェクト myFilters を作成し、その配列に filter を追加します。さらに myFilters を BevelFilterExample オブジェクトの filters プロパティに割り当てます。 これにより、myFilters で見つかったすべてのフィルタが適用されます。この場合は、filter だけです。
  4. getBitmapFilter 関数を作成して、フィルタのプロパティを作成して設定します。
  5. draw() 関数を作成します。この関数は、Sprite クラスの graphics プロパティを介してアクセスする Graphics クラスのメソッドを使用して、四角形を描画します。
package {
    import flash.display.Sprite;
    import flash.filters.BevelFilter;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BitmapFilterType;

    public class BevelFilterExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;

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

        private function getBitmapFilter():BitmapFilter {
            var distance:Number       = 5;
            var angleInDegrees:Number = 45;
            var highlightColor:Number = 0xFFFF00;
            var highlightAlpha:Number = 0.8;
            var shadowColor:Number    = 0x0000FF;
            var shadowAlpha:Number    = 0.8;
            var blurX:Number          = 5;
            var blurY:Number          = 5;
            var strength:Number       = 5;
            var quality:Number        = BitmapFilterQuality.HIGH;
            var type:String           = BitmapFilterType.INNER;
            var knockout:Boolean      = false;

            return new BevelFilter(distance,
                                   angleInDegrees,
                                   highlightColor,
                                   highlightAlpha,
                                   shadowColor,
                                   shadowAlpha,
                                   blurX,
                                   blurY,
                                   strength,
                                   quality,
                                   type,
                                   knockout);
        }

        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}