| 包 | flash.geom |
| 类 | public class ColorTransform |
| 继承 | ColorTransform Object |
| 子类 | Color |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
当 ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:
- 新红色值 = (旧红色值 *
redMultiplier) +redOffset - 新绿色值 = (旧绿色值 *
greenMultiplier) +greenOffset - 新蓝色值 = (旧蓝色值 *
blueMultiplier) +blueOffset - 新 Alpha 值 = (旧 Alpha 值 *
alphaMultiplier) +alphaOffset
如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。如果该值小于 0,它将被设置为 0。
可以通过下列方式使用 ColorTransform 对象:
- 在 BitmapData 类的
colorTransform()方法的colorTransform参数中 - 作为 Transform 对象(此对象可以用作显示对象的
transform属性)的colorTransform属性
必须使用 new ColorTransform() 构造函数创建 ColorTransform 对象后,才能调用 ColorTransform 对象的方法。
颜色转换不会应用于影片剪辑(如加载的 SWF 对象)的背景色,它们仅应用于附加到影片剪辑的图形和元件。
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| alphaMultiplier : Number
与 Alpha 透明度通道值相乘的十进制值。 | ColorTransform | ||
| alphaOffset : Number
-255 到 255 之间的数字,加到 Alpha 透明度通道值和 alphaMultiplier 值的乘积上。 | 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 | ||
| 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 | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
设置字符串格式并将其返回,该字符串描述 ColorTransform 对象的所有属性。 | ColorTransform | ||
![]() |
返回指定对象的原始值。 | Object | |
alphaMultiplier | 属性 |
public var alphaMultiplier:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
与 Alpha 透明度通道值相乘的十进制值。
如果您使用 DisplayObject 实例的 alpha 属性直接设置显示对象的 Alpha 透明度值,它将影响该显示对象的 transform.colorTransform 属性的 alphaMultiplier 属性的值。
相关 API 元素
alphaOffset | 属性 |
public var alphaOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-255 到 255 之间的数字,加到 Alpha 透明度通道值和 alphaMultiplier 值的乘积上。
blueMultiplier | 属性 |
public var blueMultiplier:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
与蓝色通道值相乘的十进制值。
blueOffset | 属性 |
public var blueOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-255 到 255 之间的数字,它先与 blueMultiplier 值相乘,再与蓝色通道值相加。
color | 属性 |
color:uint| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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):voidgreenMultiplier | 属性 |
public var greenMultiplier:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
与绿色通道值相乘的十进制值。
greenOffset | 属性 |
public var greenOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-255 到 255 之间的数字,它先与 greenMultiplier 值相乘,再与绿色通道值相加。
redMultiplier | 属性 |
public var redMultiplier:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
与红色通道值相乘的十进制值。
redOffset | 属性 |
public var redOffset:Number| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
-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, Flash Lite 4 |
用指定的颜色通道值和 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:flash.geom:ColorTransform):void| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
将 second 参数指定的 ColorTranform 对象与当前 ColorTransform 对象连接,并将当前对象设置为结果,即两个颜色转换的相加组合。在应用级联的 ColorTransform 对象时,其效果与在原始 颜色转换后应用 second 颜色转换的效果相同。
参数
second:flash.geom:ColorTransform — 要与当前 ColorTransform 对象合并的 ColorTransform 对象。
|
toString | () | 方法 |
- 构造函数创建一个新的 sprite 对象
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);
}
}
}
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性