| 包 | spark.filters |
| 类 | public class ConvolutionFilter |
| 继承 | ConvolutionFilter BaseFilter EventDispatcher Object |
| 实现 | IBitmapFilter |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
要创建卷积滤镜,请使用语法 new ConvolutionFilter()。滤镜的具体使用取决于要应用滤镜的对象:
- 要对影片剪辑、文本字段、按钮和视频应用滤镜,请使用
filters属性(继承自 DisplayObject)。设置对象的filters属性不会修改相应的对象,而清除filters属性可以删除相应的滤镜。 - 要对 BitmapData 对象应用滤镜,请使用
BitmapData.applyFilter()方法。对 BitmapData 对象调用applyFilter()会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,则该对象的 cacheAsBitmap 属性值将设置为 true。如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。
如果所得图像超过最大尺寸,则不应用滤镜。在 AIR 1.5 和 Flash Player 10 中,最大宽度或高度为 8,191 像素,并且像素总数不能超过 16,777,215 像素。(因此,如果图像的宽度为 8,191 像素,则其高度只能为 2,048 像素。)例如,如果在放大某大型影片剪辑时应用了滤镜,则所得图像超过最大尺寸时,将关闭该滤镜。
MXML 语法
隐藏 MXML 语法The <s:ConvolutionFilter> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ConvolutionFilter Properties alpha="1" clamp="true" color="0xFF0000" divisor="1.0" matrix="[]" matrixX="0" matrixY="0" preserveAlpha="true" />
公共属性
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| alpha : Number
颜色的 Alpha 透明度值。 | ConvolutionFilter | ||
| bias : Number
要添加到矩阵转换结果中的偏差量。 | ConvolutionFilter | ||
| clamp : Boolean
表示是否应锁定图像。 | ConvolutionFilter | ||
| color : uint
光晕颜色。 | ConvolutionFilter | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| divisor : Number
矩阵转换中使用的除数。 | ConvolutionFilter | ||
| matrix : Array
水平模糊量。 | ConvolutionFilter | ||
| matrixX : Number
矩阵的 x 维度(矩阵中的行数)。 | ConvolutionFilter | ||
| matrixY : Number
矩阵的 y 维度(矩阵中的列数)。 | ConvolutionFilter | ||
| preserveAlpha : Boolean
表示是否已保留 Alpha 通道并且不使用滤镜效果,或是否对 Alpha 通道以及颜色通道应用卷积滤镜。 | ConvolutionFilter | ||
公共方法
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
ConvolutionFilter(matrixX:Number = 0, matrixY:Number = 0, matrix:Array = null, divisor:Number = 1.0, bias:Number = 0.0, preserveAlpha:Boolean = true, clamp:Boolean = true, color:uint = 0, alpha:Number = 0.0)
构造函数。 | ConvolutionFilter | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
返回此滤镜对象的副本。 | ConvolutionFilter | ||
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
过滤器更改后传播更改事件。 | BaseFilter | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
属性详细信息
alpha | 属性 |
bias | 属性 |
clamp | 属性 |
color | 属性 |
divisor | 属性 |
matrix | 属性 |
matrixX | 属性 |
matrixY | 属性 |
preserveAlpha | 属性 |
preserveAlpha:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
表示是否已保留 Alpha 通道并且不使用滤镜效果,或是否对 Alpha 通道以及颜色通道应用卷积滤镜。值为 false 表示卷积应用于所有通道,包括 Alpha 通道。值为 true 表示只对颜色通道应用卷积。
默认值为 true。
实现
public function get preserveAlpha():Boolean public function set preserveAlpha(value:Boolean):void构造函数详细信息
ConvolutionFilter | () | 构造函数 |
public function ConvolutionFilter(matrixX:Number = 0, matrixY:Number = 0, matrix:Array = null, divisor:Number = 1.0, bias:Number = 0.0, preserveAlpha:Boolean = true, clamp:Boolean = true, color:uint = 0, alpha:Number = 0.0)| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
构造函数。
参数matrixX:Number (default = 0) — 矩阵的 x 维度(矩阵中列的数目)。默认值为 0。
| |
matrixY:Number (default = 0) — 矩阵的 y 维度(矩阵中行的数目)。默认值为 0。
| |
matrix:Array (default = null) — 用于矩阵转换的值的数组。数组中的项数必须等于 matrixX * matrixY。
| |
divisor:Number (default = 1.0) — 矩阵转换中使用的除数。默认值为 1。如果除数是所有矩阵值的总和,则可调平结果的总体色彩强度。忽略 0 值,此时使用默认值。
| |
bias:Number (default = 0.0) — 要添加到矩阵转换结果的偏差。默认值为 0。
| |
preserveAlpha:Boolean (default = true) — false 值表示未保留 Alpha 值,并且卷积适用于所有通道(包括 Alpha 通道)。值为 true 表示只对颜色通道应用卷积。默认值为 true。
| |
clamp:Boolean (default = true) — 对于源图像之外的像素,如果值为 true,则表明通过复制输入图像给定边缘处的颜色值,沿着输入图像的每个边框按需要扩展输入图像。如果值为 false,则表明应按照 color 和 alpha 属性中的指定使用其他颜色。默认值为 true。
| |
color:uint (default = 0) — 要替换源图像之外的像素的十六进制颜色。
| |
alpha:Number (default = 0.0) — 替换颜色的 Alpha。
|
方法详细信息
clone | () | 方法 |
public function clone():BitmapFilter| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
返回此滤镜对象的副本。
返回BitmapFilter — BitmapFilter,与原始 ConvolutionMatrixFilter 实例具有完全相同的属性的新 ConvolutionFilter 实例。
|
示例 如何使用本示例
ConvolutionFilterExample.mxml
<?xml version="1.0"?>
<!-- filters/examples/ConvolutionGlowFilterExample .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 myOutlineConvolutionFilter:ConvolutionFilter;
private var mySharpnessConvolutionFilter:ConvolutionFilter;
private var myBrightnessConvolutionFilter:ConvolutionFilter;
private var outlineMatrix:Array = [ -30, 30, 0,
-30, 30, 0,
-30, 30, 0 ];
private var sharpnessMatrix:Array = [0, -1, 0,
-1, 20, -1,
0, -1, 0];
private var brightnessMatrix:Array = [2, 2, 2,
2, 0, 2,
2, 2, 2];
public function createFilters():void {
myOutlineConvolutionFilter = new ConvolutionFilter(3, 3, outlineMatrix, 9, 0, true, true, 0x00CC99, 0);
mySharpnessConvolutionFilter = new ConvolutionFilter(3, 3, sharpnessMatrix, 9, 0, true, true, 0x00CC99, 0);
myBrightnessConvolutionFilter = new ConvolutionFilter(3, 3, brightnessMatrix, 3, 0, true, true, 0x00CC99, 0);
outlineImage.filters = [myOutlineConvolutionFilter];
sharpnessImage.filters = [mySharpnessConvolutionFilter];
brightnessImage.filters = [myBrightnessConvolutionFilter];
}
]]></fx:Script>
<s:VGroup>
<s:VGroup>
<s:Label text="Original Image"/>
<mx:Image id="originalImage" source="@Embed(source='assets/Nokia_6630.png')"/>
</s:VGroup>
<s:VGroup>
<s:Label text="Outline Matrix Image"/>
<mx:Image id="outlineImage" source="@Embed(source='assets/Nokia_6630.png')"/>
</s:VGroup>
<s:VGroup>
<s:Label text="Sharpness Matrix Image"/>
<mx:Image id="sharpnessImage" source="@Embed(source='assets/Nokia_6630.png')"/>
</s:VGroup>
<s:VGroup>
<s:Label text="Brightness Matrix Image"/>
<mx:Image id="brightnessImage" source="@Embed(source='assets/Nokia_6630.png')"/>
</s:VGroup>
</s:VGroup>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
显示 MXML 语法