著色器濾鏡

Flash Player 10 以及更新的版本,Adobe AIR 1.5 以及更新的版本

ShaderFilter 類別可讓您自訂定義為 Pixel Bender 著色器的濾鏡特效。由於濾鏡效果會撰寫為 Pixel Bender 著色器,因此效果完全可供自訂。套用濾鏡後的內容會被傳入到著色器當做影像輸入,而且著色器作業的結果會變成濾鏡結果。

備註: 從 Flash Player 10 和 Adobe AIR 1.5 開始,已可以在 ActionScript 中使用著色器濾鏡。

若要將著色器濾鏡套用到物件,您要先建立一個 Shader 實體,代表您使用的 Pixel Bender 著色器。如需有關建立 Shader 實體之程序以及如何指定輸入影像和參數值的詳細資訊,請參閱使用 Pixel Bender 著色器

將著色器當做濾鏡使用時,請記住三個重要事項:

  • 著色器必須定義為至少接受一個輸入影像。

  • 使用濾鏡的物件 (套用濾鏡的顯示物件或 BitmapData 物件) 會被傳遞到著色器,做為第一個輸入影像值。因此,請勿手動指定第一個影像輸入的值。

  • 如果著色器定義一個以上的輸入影像,則必須手動指定其它輸入 (亦即,藉由設定屬於 Shader 實體之任何 ShaderInput 實體的 input 屬性)。

一旦您的著色器有一個 Shader 物件之後,您就要建立 ShaderFilter 實體。這是您實際使用的濾鏡物件,使用起來就像其它任何濾鏡一樣。若要建立使用 Shader 物件的 ShaderFilter,請呼叫 ShaderFilter() 建構函式,然後將 Shader 物件當做引數傳遞,如列出的程式碼所示:

var myFilter:ShaderFilter = new ShaderFilter(myShader);

如需著色器濾鏡的完整使用範例,請參閱使用著色器做為濾鏡