第七十八章

3. beginFill () 方法

public function beginFill(color:uint, alpha:Number = 1.0):void

語言版本: ActionScript 3.0。

運行時版本: AIR 1.0、Flash Player 9、Flash Lite 4。

指定一種簡單的單一顏色填充,在繪製時該填充將在隨後對其他 Graphics 方法(如 lineTo() 或 drawCircle())的調用中使用。該填充將保持有效,直到用戶調用 beginFill()、beginBitmapFill()、beginGradientFill() 或 beginShaderFill() 方法。調用 clear() 方法會清除填充。

隻要繪製 3 個或更多個點,或者調用 endFill() 方法時,應用程序就會呈現填充。

參數:

color:uint——填充的顏色(0xRRGGBB)。

alpha:Number(default = 1.0)——填充的 alpha 值(從 0.0 到 1.0)。

4. beginGradientFill () 方法

public function beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix: Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio : Number = 0):void

語言版本: ActionScript 3.0。

運行時版本: AIR 1.0、Flash Player 9、Flash Lite 4。

指定一種漸變填充,用於隨後調用對象的其他Graphics方法(如lineTo()或drawCircle())。該填充將保持有效,直到用戶調用beginFill()、beginBitmapFill()、beginGradientFill() 或 beginShaderFill() 方法。調用 clear() 方法會清除填充。

隻要繪製 3 個或更多個點,或者調用 endFill() 方法時,應用程序就會呈現填充。

參數:

type:String—用於指定要使用哪種漸變類型的 GradientType 類的值:GradientType. LINEAR 或 GradientType.RADIAL。

colors:Array——漸變中使用的 RGB 十六進製顏色值的數組(例如,紅色為 0xFF0000,藍色為 0x0000FF等)。可以至多指定 15 種顏色。對於每種顏色,請在 alphas 和 ratios 參數中指定對應值。

alphas:Array——colors 數組中對應顏色的 alpha 值數組,有效值為 0 到 1。如果值小於 0,則默認值為 0;如果值大於 1,則默認值為 1。

ratios:Array——顏色分布比率的數組,有效值為 0 到 255。該值定義 100% 采樣的顏色所在位置的寬度百分比。值 0 表示漸變框中的左側位置,255 表示漸變框中的右側位置。

5. beginShaderFill () 方法

public function beginShaderFill(shader:Shader, matrix:Matrix = null):void

語言版本: ActionScript 3.0。

運行時版本: Flash Player 10、AIR 1.5。

為對象指定著色器填充,供隨後調用其他 Graphics 方法(如 lineTo() 或 drawCircle())時使用。該填充將保持有效,直到用戶調用 beginFill()、beginBitmapFill()、beginGradientFill() 或 beginShaderFill() 方法。調用 clear() 方法會清除填充。

隻要繪製 3 個或更多個點,或者調用 endFill() 方法時,應用程序就會呈現填充。

在 GPU 呈現下不支持著色器填充,填充的區域將以藍綠色著色。

參數:

shader:Shader——要用於填充的著色器。此 Shader 實例無須指定圖像輸入。但是,如果在著色器中指定圖像輸入,則必須手動提供輸入。要指定輸入,須設置 Shader.data 屬性對應 ShaderInput 屬性的 input 屬性。

傳遞 Shader 實例作為參數時,會在內部複製著色器。繪圖填充操作將使用該內部副本,而不是對原始著色器的引用。對著色器進行的任何更改(比如更改參數值、輸入或字節代碼)不會應用於所複製的用於填充的著色器。

matrix:Matrix (default = null)——一個 matrix 對象(屬於 flash.geom.Matrix 類),可用於對著色器定義轉換。例如,可以使用以下矩陣將著色器旋轉 45°(PI/4 弧度),代碼如下:

matrix = new flash.geom.Matrix();

matrix.rotate(Math.PI / 4);

著色器中收到的坐標基於為 matrix 參數指定的矩陣。對於默認(null)矩陣,著色器中的坐標是可用於對輸入采樣的局部像素坐標。

引發:

ArgumentError—當著色器輸出類型與此操作不兼容時(著色器必須指定 pixel3 或 pixel4 輸出)。

ArgumentError—當著色器指定了未提供的圖像輸入時。

ArgumentError—當使用 ByteArray 或 Vector. 實例作為輸入,並且沒有為 ShaderInput 指定 width 和 height 屬性或指定的值與輸入對象中的數據量不匹配時。有關詳細信息,請參閱 ShaderInput.input 屬性。

6. clear () 方法

public function clear():void

語言版本: ActionScript 3.0。

運行時版本: AIR 1.0、Flash Player 9、Flash Lite 4。

清除繪製到此 Graphics 對象的圖形,並重置填充和線條樣式設置。

7. copyFrom () 方法

public function copyFrom(sourceGraphics:Graphics):void

語言版本: ActionScript 3.0。