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