| 套件 | 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 各包含兩個十六進位數字,用來指定每個顏色組件的偏移值。 0x 會告訴 ActionScript 編譯器這個數字是十六進位的值。
實作
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 物件時,其效果與經過 original 顏色轉換之後,再套用 second 顏色轉換的效果相同。
參數
second:flash.geom:ColorTransform — 要與目前 ColorTransform 物件合併的 ColorTransform 物件。
|
toString | () | 方法 |
- 建構函式會建立新的 Sprite 物件
target。 CustomButton()建構函式會呼叫draw()方法,在 Sprite 中繪製漸層正方形。CustomButton()建構函式會為 Sprite 加入按滑鼠事件偵聽程式,這個偵聽程式是由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, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性