| 包 | flash.filters |
| 类 | public final class BlurFilter |
| 继承 | BlurFilter BitmapFilter Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
quality 属性设置为低时,结果为柔化的、未聚焦的外观。当 quality 属性设置为高时,该属性接近高斯模糊滤镜。您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
要创建新的滤镜,请使用构造函数 new BlurFilter()。滤镜的具体使用取决于要应用滤镜的对象:
- 要对影片剪辑、文本字段、按钮和视频应用滤镜,请使用
filters属性(继承自 DisplayObject)。设置对象的filters属性不会修改相应的对象,而清除filters属性可以删除相应的滤镜。 - 要对 BitmapData 对象应用滤镜,请使用
BitmapData.applyFilter()方法。对 BitmapData 对象调用applyFilter()会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,显示对象的 cacheAsBitmap 属性将设置为 true。如果删除所有滤镜,将恢复 cacheAsBitmap 的原始值。
此滤镜支持舞台缩放。但是,它不支持常规缩放、旋转和倾斜。如果对象本身进行了缩放(scaleX 和 scaleY 未设置为 100%),滤镜效果将不进行缩放。只有用户在舞台上进行放大时它才会缩放。
如果所得图像超过最大尺寸,则不应用滤镜。在 AIR 1.5 和 Flash Player 10 中,最大宽度或高度为 8,191 像素,并且像素总数不能超过 16,777,215 像素。(因此,如果图像的宽度为 8,191 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。
相关 API 元素
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| blurX : Number
水平模糊量。 | BlurFilter | ||
| blurY : Number
垂直模糊量。 | BlurFilter | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| quality : int
执行模糊的次数。 | BlurFilter | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
用指定参数初始化滤镜。 | BlurFilter | ||
[覆盖]
返回此滤镜对象的副本。 | BlurFilter | ||
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
blurX | 属性 |
blurY | 属性 |
quality | 属性 |
quality:int| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
执行模糊的次数。默认值为 BitmapFilterQuality.LOW,与应用一次滤镜等效。值 BitmapFilterQuality.MEDIUM 两次应用滤镜;值 BitmapFilterQuality.HIGH 三次应用滤镜并接近高斯模糊。滤镜的值越小,呈示速度越快。
对于大多数应用,quality 的值为低、中或高就足够了。虽然您可以使用不超过 15 的其他数值来增加应用模糊的次数,但该数值越高,呈现速度就越慢。除了增加 quality 的值,仅增加 blurX 和 blurY 属性的值通常也可以获得类似的效果,而且呈现速度更快。
您可以使用以下 BitmapFilterQuality 常数指定 quality 属性的值:
BitmapFilterQuality.LOWBitmapFilterQuality.MEDIUMBitmapFilterQuality.HIGH
实现
public function get quality():int public function set quality(value:int):voidBlurFilter | () | 构造函数 |
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 常量来指定品质:
高品质接近高斯模糊。对于大多数应用,这三个值已足够了。虽然您可以使用不超过 15 的其它数值来达到不同的效果,但是请注意,值越高,呈现速度越慢。 |
clone | () | 方法 |
override public function clone():BitmapFilter| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0, Flash Player 9 |
返回此滤镜对象的副本。
返回BitmapFilter — 具有与原始 BlurFilter 实例相同的所有属性的新 BlurFilter 实例。
|
- 导入所需的类。
- 声明
draw()函数所用的三个属性,该函数绘制应用了模糊滤镜的对象。 - 创建
BlurFilterExample()构造函数,该函数执行以下操作:- 调用稍后将声明的
draw()函数。 - 将
filter变量声明为 BitmapFilter 对象,并将它分配给对getBitmapFilter()的调用的返回值。 - 创建一个新的 Array 对象
myFilters并将filter添加到该数组,将myFilters分配给 BlurFilterExample 对象的filters属性。这将应用myFilters中包含的所有滤镜,在本例中仅为filter。
- 调用稍后将声明的
- 创建
getBitmapFilter()函数,以创建和设置滤镜的属性。 - 创建
draw()函数。该函数使用 Graphics 类的方法(通过 Sprite 类的graphics属性访问)绘制正方形。
package {
import flash.display.Sprite;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.BlurFilter;
public class BlurFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
private var offset:uint = 50;
public function BlurFilterExample() {
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();
}
}
}
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性