套件 | 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):void
greenMultiplier | 屬性 |
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