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对象上之后,好的展示了轮廓线的效果。

转载于:https://www.cnblogs.com/dynasty/archive/2012/02/25/2367434.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值