GlowFilter——發光濾鏡


很抱歉這個濾鏡不會給你帶來期待的驚喜,GlowFilter只是創建放 光效果。確切的說,是在元件周圍創建不同透明度的發光顏色填充(不過,這個名字實在太長了)。它的屬性實際上是DropShadow Filter的子集,其構造函數如下:
GlowFilter (
    color:uint = 16711680,
    alpha:Number = 1,
    blurX:Number = 6,
    blurY:Number = 6,
    strength:Number = 2,
    quality:int = 1,
    inner:Boolean = false,
    knockout:Boolean = false  

)

參數

color: (default = 0xFF0000) — 光暈顏色,采用十六進制格式 0xRRGGBB。 默認值為 0xFF0000。
 
alpha: (default = 1.0) — 顏色的 Alpha 透明度值。 有效值為 0 到 1。 例如,.25 設置透明度值為 25%。
 
blurX: (default = 6.0) — 水平模糊量。 有效值為 0 到 255(浮點)。 2 的乘方值(如 2、4、8、16 和 32)經過優化,呈現速度比其它值更快。
 
blurY: (default = 6.0) — 垂直模糊量。 有效值為 0 到 255(浮點)。 2 的乘方值(如 2、4、8、16 和 32)經過優化,呈現速度比其它值更快。
 
strength: (default = 2) — 印記或跨頁的強度。 該值越高,壓印的顏色越深,而且發光與背景之間的對比度也越強。 有效值為 0 到 255。
 
quality: (default = 1) — 應用濾鏡的次數。 使用 BitmapFilterQuality 常數:
  • BitmapFilterQuality.LOW
  • BitmapFilterQuality.MEDIUM
  • BitmapFilterQuality.HIGH

有關詳細信息,請參閱 quality 屬性的說明。

 
inner: (default = false) — 指定發光是否為內側發光。 值 true 指定發光是內側發光。 值 false 指定發光是外側發光(對象外緣周圍的發光)。
 
knockout: (default = false) — 指定對象是否具有挖空效果。 值為 true 將使對象的填充變為透明,並顯示文檔的背景顏色。 

它與DropShadowFilter最大的不同是無法設置distance和angle。也就是說發光效果總是沿着對象的邊緣 (也可以解釋為,發光效果是distance設為0,且無角度參數永遠沿着邊緣投影的投影濾鏡)。
如果你需要沿着邊緣繪制發光效果可以使用GlowFilter。它的主要用途主要有:為交互按鈕添加鼠標滑過效果 ;為文字添加內發光,使其突出於背景圖像;為剪影圖像輪廓邊緣添加發光 邊框的等。 GlowFilter的用途中我最喜歡的是為對象添加實色輪廓線。將blurX和blurY將至2,同時增加強度strength,然后通過quality的設定值來調節輪廓線的粗細。如圖2-19.

圖2-19.應用GlowFilter的矩形shape,同時文字添加了輪廓線效果
package {

    import flash.filters.BitmapFilterQuality;
    import flash.filters.GlowFilter;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.TextFormatAlign;

    [SWF(width=550, height=400, backgroundColor=0xEEEEEE)]

   
    public class GlowFilterTest extends BitmapFilterTest {

       
        override protected function applyFilter():void {
            var filter:GlowFilter = new GlowFilter(0x000000);
            filter.blurX = 2;
            filter.blurY = 2;
            filter.strength = 255;
            filter.quality = BitmapFilterQuality.MEDIUM;
            filter.knockout = true;
            _shape.filters = [filter];

            // creates a textfield to which to apply a glow
            var field:TextField = new TextField();
            var textFormat:TextFormat = new TextFormat("Arial", 40);
            textFormat.align = TextFormatAlign.CENTER;
            field.multiline = true;
            field.defaultTextFormat = textFormat;
            field.text = "Glow\nFilter";
            field.x = _shape.x - field.width/2;
            field.y = _shape.y - field.height/2;
            field.filters = [filter];
            addChild(field);
        }

    }

} 這個類繼承BitmapFilterTe st類,同時應用到_shape對象上,另外添加了TextField對象更好的展示濾鏡的效果。濾鏡的模糊亮很小,而強度很大,同時設置了knockout屬性剔除原有的填充色,應用到_shape和TextField對象上之后,好的展示了輪廓線的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM