GlowFilter——發光濾鏡

來源:互聯網
上載者:User
很抱歉這個濾鏡不會給你帶來期待的驚喜,GlowFilter只是建立放光效果。確切的說,是在元件周圍建立不同透明度的發光顏色填充(不過,這個名字實在太長了)。它的屬性實際上是DropShadowFilter的子集,其建構函式如下:
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);
        }

    }

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.