ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
ColorTransform

Package | flash.geom
Class | public class ColorTransform
Inheritance | ColorTransform Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The ColorTransform class lets you adjust the color values in a display object. The color adjustment or color transformation can be applied to all four channels: red, green, blue, and alpha transparency.

When a ColorTransform object is applied to a display object, a new value for each color channel is calculated like this:

- New red value = (old red value * `redMultiplier`) + `redOffset`
- New green value = (old green value * `greenMultiplier`) + `greenOffset`
- New blue value = (old blue value * `blueMultiplier`) + `blueOffset`
- New alpha value = (old alpha value * `alphaMultiplier`) + `alphaOffset`

If any of the color channel values is greater than 255 after the calculation, it is set to 255. If it is less than 0, it is set to 0.

You can use ColorTransform objects in the following ways:

- In the `colorTransform` parameter of the `colorTransform()` method of the BitmapData class
- As the `colorTransform` property of a Transform object (which can be used as the `transform` property of a display object)

You must use the `new ColorTransform()` constructor to create a ColorTransform object before you can call the methods of the ColorTransform object.

Color transformations do not apply to the background color of a movie clip (such as a loaded SWF object). They apply only to graphics and symbols that are attached to the movie clip.

View the examples

See also

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

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alphaMultiplier : Number A decimal value that is multiplied with the alpha transparency channel value. | ColorTransform
|  | alphaOffset : Number A number from -255 to 255 that is added to the alpha transparency channel value after it has been multiplied by the alphaMultiplier value. | ColorTransform
|  | blueMultiplier : Number A decimal value that is multiplied with the blue channel value. | ColorTransform
|  | blueOffset : Number A number from -255 to 255 that is added to the blue channel value after it has been multiplied by the blueMultiplier value. | ColorTransform
|  | color : uint The RGB color value for a ColorTransform object. | ColorTransform
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | greenMultiplier : Number A decimal value that is multiplied with the green channel value. | ColorTransform
|  | greenOffset : Number A number from -255 to 255 that is added to the green channel value after it has been multiplied by the greenMultiplier value. | ColorTransform
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object
|  | redMultiplier : Number A decimal value that is multiplied with the red channel value. | ColorTransform
|  | redOffset : Number A number from -255 to 255 that is added to the red channel value after it has been multiplied by the redMultiplier value. | ColorTransform

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | 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) Creates a ColorTransform object for a display object with the specified color channel values and alpha values. | ColorTransform
|  | concat(second:ColorTransform):void Concatenates the ColorTranform object specified by the second parameter with the current ColorTransform object and sets the current object as the result, which is an additive combination of the two color transformations. | ColorTransform
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toString():String Formats and returns a string that describes all of the properties of the ColorTransform object. | ColorTransform
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

alphaMultiplier | property

`public var alphaMultiplier:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A decimal value that is multiplied with the alpha transparency channel value.

If you set the alpha transparency value of a display object directly by using the `alpha` property of the DisplayObject instance, it affects the value of the `alphaMultiplier` property of that display object's `transform.colorTransform` property.

See also

flash.display.DisplayObject.alpha

alphaOffset | property |

`public var alphaOffset:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A number from -255 to 255 that is added to the alpha transparency channel value after it has been multiplied by the `alphaMultiplier` value.

blueMultiplier | property |

`public var blueMultiplier:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A decimal value that is multiplied with the blue channel value.

blueOffset | property |

`public var blueOffset:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A number from -255 to 255 that is added to the blue channel value after it has been multiplied by the `blueMultiplier` value.

color | property |

`color:uint` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The RGB color value for a ColorTransform object.

When you set this property, it changes the three color offset values (`redOffset`, `greenOffset`, and `blueOffset`) accordingly, and it sets the three color multiplier values (`redMultiplier`, `greenMultiplier`, and `blueMultiplier`) to 0. The alpha transparency multiplier and offset values do not change.

When you pass a value for this property, use the format 0xRRGGBB. RR, GG, and BB each consist of two hexadecimal digits that specify the offset of each color component. The 0x tells the ActionScript compiler that the number is a hexadecimal value.

Implementation
`public function get color():uint`
`public function set color(value:uint):void`

greenMultiplier | property |

`public var greenMultiplier:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A decimal value that is multiplied with the green channel value.

greenOffset | property |

`public var greenOffset:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A number from -255 to 255 that is added to the green channel value after it has been multiplied by the `greenMultiplier` value.

redMultiplier | property |

`public var redMultiplier:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A decimal value that is multiplied with the red channel value.

redOffset | property |

`public var redOffset:Number`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

A number from -255 to 255 that is added to the red channel value after it has been multiplied by the `redMultiplier` value.

Constructor Detail

ColorTransform | () | Constructor

`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)`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Creates a ColorTransform object for a display object with the specified color channel values and alpha values.

Parameters

| `redMultiplier:Number` (default = `1.0`)`` — The value for the red multiplier, in the range from 0 to 1.
| `greenMultiplier:Number` (default = `1.0`)`` — The value for the green multiplier, in the range from 0 to 1.
| `blueMultiplier:Number` (default = `1.0`)`` — The value for the blue multiplier, in the range from 0 to 1.
| `alphaMultiplier:Number` (default = `1.0`)`` — The value for the alpha transparency multiplier, in the range from 0 to 1.
| `redOffset:Number` (default = `0`)`` — The offset value for the red color channel, in the range from -255 to 255.
| `greenOffset:Number` (default = `0`)`` — The offset value for the green color channel, in the range from -255 to 255.
| `blueOffset:Number` (default = `0`)`` — The offset for the blue color channel value, in the range from -255 to 255.
| `alphaOffset:Number` (default = `0`)`` — The offset for alpha transparency channel value, in the range from -255 to 255.

Method Detail

concat | () | method

`public function concat(second:ColorTransform):void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Concatenates the ColorTranform object specified by the `second` parameter with the current ColorTransform object and sets the current object as the result, which is an additive combination of the two color transformations. When you apply the concatenated ColorTransform object, the effect is the same as applying the `second` color transformation after the original color transformation.

Parameters

| `second:ColorTransform` — The ColorTransform object to be combined with the current ColorTransform object.

toString | () | method |

`public function toString():String`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Formats and returns a string that describes all of the properties of the ColorTransform object.

Returns

| `String` — A string that lists all of the properties of the ColorTransform object.

Examples How to use examples
ColorTransformExample.as
The following example uses the TransformExample class to create a simple sprite in the shape of a square filled with a gradient pattern. Each time the user clicks the square, the application transforms the colors of the square sprite, adding to the red color channel and lightening the blue color channel. This is accomplished with the following steps:

1. The constructor creates a new sprite object `target`.
2. The `CustomButton()` constructor calls the `draw()` method, which draws a gradient square in the sprite.
3. The `CustomButton()` constructor adds a click event listener for the sprite, which is handled by the `clickHandler()` method.
4. In the `clickHandler()` method, two properties are set to the `redOffset` and `blueOffset` properties of the current color transformation. Each is adjusted by 25. Then the `transform.colorTransform` property of the square sprite is modified to use the new offset values. Each time the user clicks the square, the call to the `clickHandler()` method modifies the color of the square, by augmenting its red color value and diminishing its blue color value.

    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);
            }
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00