| 包 | spark.filters |
| 类 | public class GlowFilter |
| 继承 | GlowFilter BaseDimensionFilter BaseFilter EventDispatcher Object |
| 实现 | IBitmapFilter |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
distance 和 angle 属性设置为 0 时,发光滤镜与投影滤镜极为相似。您可以将滤镜应用于任何显示对象(即,从 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,191 像素,并且像素总数不能超过 16,777,215 像素。(因此,如果图像的宽度为 8,191 像素,则其高度只能为 2,048 像素。)例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。
MXML 语法
隐藏 MXML 语法The <s:GlowFilter> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GlowFilter
Properties
alpha="1"
color="0xFF0000"
inner="false"
/>
相关 API 元素
flash.filters.GlowFilter
flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle
flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap
flash.display.DisplayObject.scaleX
flash.display.DisplayObject.scaleY
flash.filters.DropShadowFilter.distance
flash.filters.DropShadowFilter.angle
公共属性
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| alpha : Number
颜色的 Alpha 透明度值。 | GlowFilter | ||
![]() | blurX : Number
水平模糊量。 | BaseDimensionFilter | |
![]() | blurY : Number
垂直模糊量。 | BaseDimensionFilter | |
| color : uint
光晕颜色。 | GlowFilter | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| inner : Boolean
指定发光是否为内侧发光。 | GlowFilter | ||
![]() | knockout : Boolean
指定对象是否具有挖空效果。 | BaseDimensionFilter | |
![]() | quality : int
应用滤镜的次数。 | BaseDimensionFilter | |
![]() | strength : Number
印记或跨页的强度。 | BaseDimensionFilter | |
公共方法
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
构造函数。 | GlowFilter | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
返回此滤镜对象的副本。 | GlowFilter | ||
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
过滤器更改后传播更改事件。 | BaseFilter | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
属性详细信息
alpha | 属性 |
color | 属性 |
inner | 属性 |
构造函数详细信息
GlowFilter | () | 构造函数 |
public function GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
参数color:uint (default = 0xFF0000) — 光晕颜色,采用十六进制格式 0xRRGGBB。默认值为 0xFF0000。
| |
alpha:Number (default = 1.0) — 颜色的 Alpha 透明度值。有效值为 0 到 1。例如,0.25 设置透明度值为 25%。
| |
blurX:Number (default = 4.0) — 水平模糊量。有效值为 0 到 255(浮点)。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈示速度比其它值更快。
| |
blurY:Number (default = 4.0) — 垂直模糊量。有效值为 0 到 255(浮点)。2 的乘方值(如 2、4、8、16 和 32)经过优化,呈示速度比其它值更快。
| |
strength:Number (default = 1) — 印记或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。
| |
quality:int (default = 1) — 应用滤镜的次数。使用 BitmapFilterQuality 常量:
有关详细信息,请参阅 | |
inner:Boolean (default = false) — 指定发光是否为内侧发光。值 true 指定发光是内侧发光。值 false 指定发光是外侧发光(对象外缘周围的发光)。
| |
knockout:Boolean (default = false) — 指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。
|
相关 API 元素
BitmapFilterQuality
方法详细信息
clone | () | 方法 |
public function clone():BitmapFilter| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
返回此滤镜对象的副本。
返回BitmapFilter — 具有原始 GlowFilter 实例的所有属性的新 GlowFilter 实例。
|
示例 如何使用本示例
GlowFilterExample.mxml
<?xml version="1.0"?>
<!-- filters/examples/GlowFilterExample .mxml -->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark"
creationComplete="createFilters()">
<fx:Script><![CDATA[
import spark.filters.*;
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;
private var myGlowFilter:GlowFilter;
private var color:Number = 0xFF33FF;
public function createFilters():void {
myGlowFilter = new GlowFilter(color, .8, 6, 6, .65, BitmapFilterQuality.MEDIUM,
false, false);
b1.filters = [myGlowFilter];
}
]]></fx:Script>
<s:VGroup>
<!-- This button has a filter applied in ActionScript. -->
<s:Button id="b1" label="Click me"/>
<!-- This button has a filter applied in MXML. -->
<s:Button id="b2" label="Click me">
<s:filters>
<s:GlowFilter
color="0xFF33FF"
alpha=".8"
blurX="6"
blurY="6"
strength=".65"
quality="{BitmapFilterQuality.MEDIUM}"
inner="false"
knockout="false"/>
</s:filters>
</s:Button>
</s:VGroup>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
显示 MXML 语法