为影片剪辑添加模糊效果

BlurFilter----------模糊滤镜
可使用 BlurFilter 类将模糊视觉效果应用于显示对象。 模糊效果可以柔化图像的细节。 您可以生成一些模糊效果,范围从创建一个柔化的、未聚焦的外观到高斯模糊(就像通过半透明玻璃查看图像一样的朦胧的外观)。 当此滤镜的 quality 属性设置为低时,结果为柔化的、未聚焦的外观。 当 quality 属性设置为高时,该属性接近高斯模糊滤镜。 您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
构造器:
BlurFilter()构造函数
public function BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)

语言版本: ActionScript 3.0
运行时版本: AIR 1.0, Flash Player 9

用指定参数初始化滤镜。 默认值会创建一个柔化的、未聚焦的图像。

参数
blurX:Number (default = 4.0) — 水平模糊量。 有效值为 0 到 255.0(浮点值)。
 
blurY:Number (default = 4.0) — 垂直模糊量。 有效值为 0 到 255.0(浮点值)。
 
quality:int (default = 1) — 应用滤镜的次数。 您可以使用 BitmapFilterQuality 常量来指定品质:
  • flash.filters.BitmapFilterQuality.LOW
  • flash.filters.BitmapFilterQuality.MEDIUM
  • flash.filters.BitmapFilterQuality.HIGH

高品质接近高斯模糊。 对于大多数应用,这三个值已足够了。 虽然您可以使用不超过 15 的其它数值来达到不同的效果,但是请注意,值越高,呈现速度越慢。

 
效果图如下:
 
代码:
  步骤:
  1. 导入import flash.filters.BlurFilter类
  2. 创建一个BlurFilter类,创建一个Array用了存储模糊滤镜
  3. 利用影片剪辑的filters的属性,将滤镜添加到指定的影片剪辑当中
1
2
3
4
5
6
import flash.display.Bitmap; 
import flash.display.BitmapData; 
import flash.filters.BlurFilter; 
var blurFilter:BlurFilter = new BlurFilter();
var filterArray:Array = new Array(blurFilter);
abc.filters = filterArray;
实例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package {
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BlurFilter;
      
    public class dangong extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint    = 80;
        private var offset:uint  = 50;
          
        public function dangong() {
            draw();
            var filter:BitmapFilter = getBitmapFilter();
            var myFilters:Array = new Array();
            myFilters.push(filter);
            filters = myFilters;
        }
          
        private function getBitmapFilter():BitmapFilter {
            var blurX:Number = 30;
            var blurY:Number = 30;
            return new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH);
        }
          
        private function draw():void {
            graphics.beginFill(bgColor);
            graphics.drawRect(offset, offset, size, size);
            graphics.endFill();
        }
    }
}
效果:
 




原文地址:https://www.cnblogs.com/babyhhcsy/p/2874970.html