| 包 | flash.geom |
| 类 | public class ColorTransform |
| 继承 | ColorTransform Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
当 ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:
redMultiplier) + redOffset
greenMultiplier) + greenOffset
blueMultiplier) + blueOffset
alphaMultiplier) + alphaOffset
如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。如果该值小于 0,它将被设置为 0。
可以通过下列方式使用 ColorTransform 对象:
colorTransform() 方法的 colorTransform 参数中
transform 属性)的 colorTransform 属性
必须使用 new ColorTransform() 构造函数创建 ColorTransform 对象后,才能调用 ColorTransform 对象的方法。
颜色转换不会应用于影片剪辑(如加载的 SWF 对象)的背景色, 它们仅应用于附加到影片剪辑的图形和元件。
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
| alphaMultiplier : Number 与 Alpha 透明度通道值相乘的十进制值。 | ColorTransform | ||
| alphaOffset : Number -255 到 255 之间的数字,它先与 alphaMultiplier 值相乘,再与 Alpha 透明度通道值相加。 | ColorTransform | ||
| blueMultiplier : Number 与蓝色通道值相乘的十进制值。 | ColorTransform | ||
| blueOffset : Number -255 到 255 之间的数字,它先与 blueMultiplier 值相乘,再与蓝色通道值相加。 | ColorTransform | ||
| color : uint ColorTransform 对象的 RGB 颜色值。 | ColorTransform | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| greenMultiplier : Number 与绿色通道值相乘的十进制值。 | ColorTransform | ||
| greenOffset : Number -255 到 255 之间的数字,它先与 greenMultiplier 值相乘,再与绿色通道值相加。 | ColorTransform | ||
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
| redMultiplier : Number 与红色通道值相乘的十进制值。 | ColorTransform | ||
| redOffset : Number -255 到 255 之间的数字,它先与 redMultiplier 值相乘,再与红色通道值相加。 | 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) 用指定的颜色通道值和 Alpha 值为显示对象创建 ColorTransform 对象。 | ColorTransform | ||
将 second 参数指定的 ColorTranform 对象与当前 ColorTransform 对象连接,并将当前对象设置为结果,即两个颜色转换的相加组合。 | ColorTransform | ||
![]() |
指示对象是否已经定义了指定的属性。 | Object | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
设置字符串格式并将其返回,该字符串描述 ColorTransform 对象的所有属性。 | ColorTransform | ||
![]() |
返回指定对象的原始值。 | Object | |
| alphaMultiplier | 属性 |
public var alphaMultiplier:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
与 Alpha 透明度通道值相乘的十进制值。
如果您使用 DisplayObject 实例的 alpha 属性直接设置显示对象的 Alpha 透明度值,它将影响该显示对象的 transform.colorTransform 属性的 alphaMultiplier 属性的值。
另请参见
| alphaOffset | 属性 |
public var alphaOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
-255 到 255 之间的数字,它先与 alphaMultiplier 值相乘,再与 Alpha 透明度通道值相加。
| blueMultiplier | 属性 |
| blueOffset | 属性 |
public var blueOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
-255 到 255 之间的数字,它先与 blueMultiplier 值相乘,再与蓝色通道值相加。
| color | 属性 |
color:uint [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
ColorTransform 对象的 RGB 颜色值。
设置此属性时,会相应地更改三种颜色的偏移量值(redOffset、greenOffset 和 blueOffset),并将这三个颜色乘数值(redMultiplier、greenMultiplier 和 blueMultiplier)设置为 0。Alpha 透明度乘数和偏移量值不变。
在传递此属性的值时,请使用格式 0x RRGGBB。RR、GG 和 BB 均包含两个十六进制数字,这些数字指定每个颜色成分的偏移量。ActionScript 编译器从 0x 获知数字是十六进制值。
public function get color():uint public function set color(value:uint):void| greenMultiplier | 属性 |
| greenOffset | 属性 |
public var greenOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
-255 到 255 之间的数字,它先与 greenMultiplier 值相乘,再与绿色通道值相加。
| redMultiplier | 属性 |
| redOffset | 属性 |
public var redOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
-255 到 255 之间的数字,它先与 redMultiplier 值相乘,再与红色通道值相加。
| 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 |
用指定的颜色通道值和 Alpha 值为显示对象创建 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) — Alpha 透明度乘数的值,在 0 到 1 范围内。 | |
redOffset:Number (default = 0) — 红色通道值的偏移量,在 -255 到 255 范围内。 | |
greenOffset:Number (default = 0) — 绿色通道值的偏移量,在 -255 到 255 范围内。 | |
blueOffset:Number (default = 0) — 蓝色通道值的偏移量,在 -255 到 255 范围内。 | |
alphaOffset:Number (default = 0) — Alpha 透明度通道值的偏移量,在 -255 到 255 范围内。 |
| concat | () | 方法 |
public function concat(second:ColorTransform):void| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
将 second 参数指定的 ColorTranform 对象与当前 ColorTransform 对象连接,并将当前对象设置为结果,即两个颜色转换的相加组合。在应用级联的 ColorTransform 对象时,其效果与在原始颜色转换后应用 second 颜色转换的效果相同。
参数
second:ColorTransform — 要与当前 ColorTransform 对象合并的 ColorTransform 对象。 |
| toString | () | 方法 |
public function toString():String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
设置字符串格式并将其返回,该字符串描述 ColorTransform 对象的所有属性。
返回String — 用于列出 ColorTransform 对象的所有属性的字符串。 |
target。
CustomButton() 构造函数调用 draw() 方法,该方法在 sprite 中绘制一个渐变正方形。
CustomButton() 构造函数为 sprite 添加 click 事件侦听器,该侦听器由 clickHandler() 方法处理。
clickHandler() 方法中,两个属性被设置为当前颜色转换的 redOffset 和 blueOffset 属性。 将每项的值调整 25。然后修改正方形 sprite 的 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);
}
}
}