2012/4/3

BlurFilter.blurX 255 limit


BlurFilter 的說明文件裡面提到

blurX   屬性
blurX:Number
語言版本:       ActionScript 3.0
執行階段版本:   AIR 1.0, Flash Player 9

水平模糊化量。
有效值為 0 到 255 (浮點)。

預設值為 4。
2 的冪次方數值 (如 2、4、8、16 和 32) 是經過最佳化的,
以便在顯示時會比其它值更為快速。

有效值最大為 255

但我需要值域不限制在 255 以內的模糊濾鏡

所以我準備自己實作一個 Filter

於是我去看了 BitmapFilter 這個 Class

BitmapFilter 類別是所有影像濾鏡特效的基底類別。

BevelFilter、BlurFilter、ColorMatrixFilter、ConvolutionFilter、
DisplacementMapFilter、DropShadowFilter、GlowFilter、GradientBevelFilter 和
 GradientGlowFilter 類別都可以擴充 BitmapFilter 類別。 您可以將這些濾鏡特效套
用至任何顯示物件。

您無法直接實體化或擴充 BitmapFilter。

所以我無法自己實作Filter

請問我如果要對一個 Shape 物件使用值域超過255的 BlurFilter 要怎麼作?

我想到一個很蠢的方法

那就是

1. 取得 Shape 的 BitmapData

2. 實作一個模糊濾鏡函數
   輸入 BitmapData
   輸出模糊後的 BitmapData

3. 改用 Bitmap 類別作物件顯示

請問這個問題除了這個方法還有別的解法嗎?


2 則留言:

Unknown 提到...

請問你想要使用超過255述職的原因是...?

卡卡米 提到...

這是慘品規格 T_T