运行时版本: | AIR 1.0 Flash Player 9 |
可使用 DropShadowFilter 类向显示对象添加投影。阴影算法基于模糊滤镜使用的同一个框型滤镜。投影样式有多个选项,包括内侧或外侧阴影和挖空模式。您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。
滤镜的具体使用取决于要应用滤镜的对象:
-
若要对显示对象应用滤镜,请使用
filters
属性(继承自 DisplayObject)。设置对象的 filters
属性不会修改相应的对象,而清除 filters
属性可以删除相应的滤镜。
-
若要对 BitmapData 对象应用滤镜,请使用
BitmapData.applyFilter()
方法。对 BitmapData 对象调用 applyFilter()
会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,则该显示对象的 cacheAsBitmap
属性值将设置为 true
。如果清除所有滤镜,将恢复 cacheAsBitmap
的原始值。
此滤镜支持舞台缩放。但是,它不支持常规缩放、旋转和倾斜。如果对象本身进行了缩放(如果将 scaleX
和 scaleY
设置为除 1.0 以外的其它值),滤镜将不进行缩放。只有用户在舞台上进行放大时它才会缩放。
如果所得图像超过最大尺寸,则不应用滤镜。在 AIR 1.5 和 Flash Player 10 中,最大宽度或高度为 8,192 像素,并且像素总数不能超过 16,777,216 像素。(因此,如果图像的宽度为 8,192 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。 例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。
查看示例
alpha:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
阴影颜色的 Alpha 透明度值。有效值为 0.0 到 1.0。例如,.25 设置透明度值为 25%。默认值为 1.0。
实现 public function get alpha():Number
public function set alpha(value:Number):void
angle:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
阴影的角度。有效值为 0 到 360 度(浮点)。默认值为 45。
实现 public function get angle():Number
public function set angle(value:Number):void
blurX:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
水平模糊量。有效值为 0 到 255.0(浮点)。默认值为 4.0。
实现 public function get blurX():Number
public function set blurX(value:Number):void
blurY:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
垂直模糊量。有效值为 0 到 255.0(浮点)。默认值为 4.0。
实现 public function get blurY():Number
public function set blurY(value:Number):void
color:uint
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
阴影的颜色。有效值采用十六进制格式 0xRRGGBB。默认值为 0x000000。
实现 public function get color():uint
public function set color(value:uint):void
distance:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
阴影的偏移距离,以像素为单位。默认值为 4.0(浮点)。
实现 public function get distance():Number
public function set distance(value:Number):void
hideObject:Boolean
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
表示是否隐藏对象。如果值为 true
,则表示没有绘制对象本身,只有阴影是可见的。默认值为 false
(显示对象)。
实现 public function get hideObject():Boolean
public function set hideObject(value:Boolean):void
inner:Boolean
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
表示阴影是否为内侧阴影。值为 true
表明是内侧阴影。默认为 false
,即外侧阴影(对象外缘周围的阴影)。
实现 public function get inner():Boolean
public function set inner(value:Boolean):void
knockout:Boolean
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
应用挖空效果 (true
),这将有效地使对象的填色变为透明,并显示文档的背景颜色。默认值为 false
(不应用挖空效果)。
实现 public function get knockout():Boolean
public function set knockout(value:Boolean):void
quality:int
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
应用滤镜的次数。默认值为 BitmapFilterQuality.LOW
,与应用一次滤镜等效。值 BitmapFilterQuality.MEDIUM
两次应用滤镜;值 BitmapFilterQuality.HIGH
三次应用滤镜。滤镜的值越小,呈现速度越快。
对于大多数应用,quality 的值为低、中或高就足够了。您可以使用其它数值(最高为 15)来达到不同的效果,但是值越高,呈现速度越慢。除了增加 quality
的值,仅增加 blurX
和 blurY
属性的值通常也可以获得类似的效果,而且呈现速度更快。
实现 public function get quality():int
public function set quality(value:int):void
另请参见
strength:Number
[读写]
运行时版本: | AIR 1.0 Flash Player 9 |
印记或跨页的强度。该值越高,压印的颜色越深,而且阴影与背景之间的对比度也越强。有效值为 0 到 255.0。默认值为 1.0。
实现 public function get strength():Number
public function set strength(value:Number):void
public function DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false)
运行时版本: | AIR 1.0 Flash Player 9 |
用指定参数创建新的 DropShadowFilter 实例。
参数 | distance:Number (default = 4.0 ) — 阴影的偏移距离,以像素为单位。 |
|
| angle:Number (default = 45 ) — 阴影的角度,0 到 360 度(浮点)。 |
|
| color:uint (default = 0 ) —
阴影颜色,采用十六进制格式 0xRRGGBB。默认值为 0x000000。
|
|
| alpha:Number (default = 1.0 ) — 阴影颜色的 Alpha 透明度值。有效值为 0.0 到 1.0。例如,.25 设置透明度值为 25%。 |
|
| blurX:Number (default = 4.0 ) — 水平模糊量。有效值为 0 到 255.0(浮点)。 |
|
| blurY:Number (default = 4.0 ) — 垂直模糊量。有效值为 0 到 255.0(浮点)。 |
|
| strength:Number (default = 1.0 ) — 印记或跨页的强度。该值越高,压印的颜色越深,而且阴影与背景之间的对比度也越强。有效值为 0 到 255.0。 |
|
| quality:int (default = 1 ) —
应用滤镜的次数。使用 BitmapFilterQuality 常数:
-
BitmapFilterQuality.LOW
-
BitmapFilterQuality.MEDIUM
-
BitmapFilterQuality.HIGH
有关这些值的详细信息,请参阅 quality 属性说明。
|
|
| inner:Boolean (default = false ) —
表示阴影是否为内侧阴影。值 true 指定内侧阴影。值 false 指定外侧阴影(对象外缘周围的阴影)。
|
|
| knockout:Boolean (default = false ) —
应用挖空效果 (true ),这将有效地使对象的填色变为透明,并显示文档的背景颜色。
|
|
| hideObject:Boolean (default = false ) —
表示是否隐藏对象。如果值为 true ,则表示没有绘制对象本身,只有阴影是可见的。
|
另请参见
override public function clone():BitmapFilter
运行时版本: | AIR 1.0 Flash Player 9 |
返回此滤镜对象的副本。
返回 | BitmapFilter — 具有原始 DropShadowFilter 实例的所有属性的新 DropShadowFilter 实例。 |
以下示例将创建一个黄色正方形,并对它应用投影。该示例的一般工作流程如下:
- 声明用于绘制正方形的三个属性,将对该正方形应用滤镜。
-
创建构造函数。构造函数调用
draw()
方法,该方法使用 Graphics 类的方法(通过 Sprite 的 graphics
属性访问)绘制一个橙色正方形。
-
在构造函数中,将变量
filter
声明为 BitmapFilter 对象,并将它分配给对 getBitmapFilter()
的调用的返回值。getBitmapFilter()
方法定义已使用的投影滤镜。
-
创建一个新的 Array 对象
myFilters
并将 filter
添加到数组。将 myFilters
数组分配给 DropShadowFilterExample 对象的 filters
属性。这将应用 myFilters
中包含的所有滤镜,在本例中仅为 filter
。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.DropShadowFilter;
public class DropShadowFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
private var offset:uint = 50;
public function DropShadowFilterExample() {
draw();
var filter:BitmapFilter = getBitmapFilter();
var myFilters:Array = new Array();
myFilters.push(filter);
filters = myFilters;
}
private function getBitmapFilter():BitmapFilter {
var color:Number = 0x000000;
var angle:Number = 45;
var alpha:Number = 0.8;
var blurX:Number = 8;
var blurY:Number = 8;
var distance:Number = 15;
var strength:Number = 0.65;
var inner:Boolean = false;
var knockout:Boolean = false;
var quality:Number = BitmapFilterQuality.HIGH;
return new DropShadowFilter(distance,
angle,
color,
alpha,
blurX,
blurY,
strength,
quality,
inner,
knockout);
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(offset, offset, size, size);
graphics.endFill();
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Sun Dec 14 2008, 10:39 PM -08:00