パッケージflash.geom
クラスpublic class ColorTransform
継承ColorTransform Inheritance Object
サブクラス Color

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

ColorTransform クラスを使用すると、表示オブジェクトのカラー値を調整することができます。カラー調整、つまり "カラー変換" は、赤、緑、青、アルファ透明度の 4 つのチャンネルすべてに適用できます。

ColorTransform オブジェクトを表示オブジェクトに適用するときに、各カラーチャンネルの新しい値を算出する方法は次のとおりです。

算出後、カラーチャンネル値が 255 よりも大きい場合は 255 に設定されます。0 より小さい場合は 0 に設定されます。

ColorTransform オブジェクトは次のように使用できます。

ColorTransform オブジェクトのメソッドを呼び出すには、コンストラクタ new ColorTransform() を使用して ColorTransform オブジェクトを作成する必要があります。

カラー変換は、ムービークリップ(ロードした SWF オブジェクトなど)の背景色には適用されません。ムービークリップに割り当てられているグラフィックとシンボルにのみ適用されます。

例を表示

関連項目

flash.geom.Transform
flash.display.DisplayObject.transform
flash.display.BitmapData.colorTransform()


パブリックプロパティ
 プロパティ定義元
  alphaMultiplier : Number
アルファ透明度チャンネル値に乗算する 10 進数値です。
ColorTransform
  alphaOffset : Number
アルファ透明度チャンネル値に alphaMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。
ColorTransform
  blueMultiplier : Number
青チャンネル値に乗算する 10 進数値です。
ColorTransform
  blueOffset : Number
青チャンネル値に blueMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。
ColorTransform
  color : uint
ColorTransform オブジェクトの RGB カラー値です。
ColorTransform
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  greenMultiplier : Number
緑チャンネル値に乗算する 10 進数値です。
ColorTransform
  greenOffset : Number
緑チャンネル値に greenMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。
ColorTransform
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  redMultiplier : Number
赤チャンネル値に乗算する 10 進数値です。
ColorTransform
  redOffset : Number
赤チャンネル値に redMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。
ColorTransform
パブリックメソッド
 メソッド定義元
  
ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)
指定されたカラーチャンネル値とアルファ値を持つ ColorTransform オブジェクトを作成します。
ColorTransform
  
2 番目のパラメータで指定された ColorTranform オブジェクトと現在の ColorTransform オブジェクトを連結し、2 つのカラー変換を加算的に組み合わせた結果を現在のオブジェクトに設定します。
ColorTransform
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
ColorTransform オブジェクトのすべてのプロパティが列挙されたストリングを書式設定して返します。
ColorTransform
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
alphaMultiplierプロパティ
public var alphaMultiplier:Number

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

アルファ透明度チャンネル値に乗算する 10 進数値です。

DisplayObject インスタンスの alpha プロパティを使用して表示オブジェクトのアルファ透明度の値を直接設定すると、alphaMultiplier プロパティ値(その表示オブジェクトの transform.colorTransform プロパティ)に影響します。

関連項目

alphaOffsetプロパティ 
public var alphaOffset:Number

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

アルファ透明度チャンネル値に alphaMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。

blueMultiplierプロパティ 
public var blueMultiplier:Number

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

青チャンネル値に乗算する 10 進数値です。

blueOffsetプロパティ 
public var blueOffset:Number

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

青チャンネル値に blueMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。

colorプロパティ 
color:uint  [読み書き可能]

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

ColorTransform オブジェクトの RGB カラー値です。

このプロパティを設定すると、それに応じて 3 つのカラーオフセット値(redOffsetgreenOffsetblueOffset)が変更され、3 つのカラー乗数値(redMultipliergreenMultiplierblueMultiplier)が 0 に設定されます。アルファ透明度の乗数値とオフセット値は変更されません。

このプロパティに値を渡す場合は、書式 0x RRGGBB を使用します。 RRGG および BB はそれぞれ、各カラー成分のオフセットを指定する 2 桁の 16 進数で構成されます。 0x は、数値が 16 進数であることを ActionScript コンパイラに伝えるものです。



実装
    public function get color():uint
    public function set color(value:uint):void
greenMultiplierプロパティ 
public var greenMultiplier:Number

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

緑チャンネル値に乗算する 10 進数値です。

greenOffsetプロパティ 
public var greenOffset:Number

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

緑チャンネル値に greenMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。

redMultiplierプロパティ 
public var redMultiplier:Number

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

赤チャンネル値に乗算する 10 進数値です。

redOffsetプロパティ 
public var redOffset:Number

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

赤チャンネル値に redMultiplier 値を乗算した後に加算する数値です。数値の範囲は -255 ~ 255 です。

コンストラクタの詳細
ColorTransform()コンストラクタ
public function ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)

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

指定されたカラーチャンネル値とアルファ値を持つ ColorTransform オブジェクトを作成します。

パラメータ
redMultiplier:Number (default = 1.0) — 赤の乗数の値(0 ~ 1)です。
 
greenMultiplier:Number (default = 1.0) — 緑の乗数の値(0 ~ 1)です。
 
blueMultiplier:Number (default = 1.0) — 青の乗数の値(0 ~ 1)です。
 
alphaMultiplier:Number (default = 1.0) — アルファ透明度の乗数の値(0 ~ 1)です。
 
redOffset:Number (default = 0) — 赤のカラーチャンネルのオフセット値(-255 ~ 255)です。
 
greenOffset:Number (default = 0) — 緑のカラーチャンネルのオフセット値(-255 ~ 255)です。
 
blueOffset:Number (default = 0) — 青のカラーチャンネルのオフセット値(-255 ~ 255)です。
 
alphaOffset:Number (default = 0) — アルファ透明度のチャンネル値のオフセット(-255 ~ 255)です。
メソッドの詳細
concat()メソッド
public function concat(second:ColorTransform):void

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

second パラメータで指定された ColorTranform オブジェクトと現在の ColorTransform オブジェクトを連結し、2 つのカラー変換を加算的に組み合わせた結果を現在のオブジェクトに設定します。連結された ColorTransform オブジェクトを適用する場合、その効果は second のカラー変換を元のカラー変換の後に適用した場合と同じです。

パラメータ

second:ColorTransform — 現在の ColorTransform オブジェクトと結合する ColorTransform オブジェクトです。

toString()メソッド 
public function toString():String

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

ColorTransform オブジェクトのすべてのプロパティが列挙されたストリングを書式設定して返します。

戻り値
String — ColorTransform オブジェクトのすべてのプロパティを列挙するストリングです。
例の使用法
ColorTransformExample.as

次の例では、TransformExample クラスを使用して、グラデーションのパターンで塗りつぶされた正方形のシェイプの単純なスプライトを作成します。ユーザーが正方形をクリックするたびに、アプリケーションは正方形のスプライトのカラーを変換します。変換時は赤のカラーチャンネルを濃くし、青のカラーチャンネルを薄くします。これを行うには、以下の手順を実行します。
  1. コンストラクタが新しい Sprite オブジェクト target を作成します。
  2. CustomButton() コンストラクタは draw() メソッドを呼び出します。このメソッドは、グラデーションの四角形をスプライトに描画します。
  3. CustomButton() コンストラクタはスプライトに click イベントリスナーを追加します。これは clickHandler() メソッドによって処理されます。
  4. clickHandler() メソッドでは、2 つのプロパティが現在のカラー変換の redOffset プロパティと blueOffset プロパティに設定されます。それぞれ 25 に調整されます。次に正方形のスプライトの transform.colorTransform プロパティが新しいオフセット値を使用するように変更されます。ユーザーが正方形をクリックするたびに、clickHandler() メソッドを呼び出して、赤のカラー値を増やし、青のカラー値を減らして、正方形の色を変更します。
package {
    import flash.display.Sprite;
    import flash.display.GradientType;
    import flash.geom.ColorTransform;
    import flash.events.MouseEvent;

    public class ColorTransformExample extends Sprite {
        public function ColorTransformExample() {
            var target:Sprite = new Sprite();
            draw(target);
            addChild(target);
            target.useHandCursor = true;
            target.buttonMode = true;
            target.addEventListener(MouseEvent.CLICK, clickHandler)
        }
        public function draw(sprite:Sprite):void {
            var red:uint = 0xFF0000;
            var green:uint = 0x00FF00;
            var blue:uint = 0x0000FF;
            var size:Number = 100;
            sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
            sprite.graphics.drawRect(0, 0, 100, 100);
        }
        public function clickHandler(event:MouseEvent):void {
            var rOffset:Number = transform.colorTransform.redOffset + 25;
            var bOffset:Number = transform.colorTransform.redOffset - 25;
            this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);
        }
    }
}