Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx

上传人:b****8 文档编号:28333429 上传时间:2023-07-10 格式:DOCX 页数:18 大小:20.96KB
下载 相关 举报
Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx_第1页
第1页 / 共18页
Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx_第2页
第2页 / 共18页
Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx_第3页
第3页 / 共18页
Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx_第4页
第4页 / 共18页
Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx

《Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx》由会员分享,可在线阅读,更多相关《Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx(18页珍藏版)》请在冰豆网上搜索。

Flash ActionScript 30 语言和组件参考DisplacementMapFilter.docx

FlashActionScript30语言和组件参考DisplacementMapFilter

flash.filters

publicfinalclassDisplacementMapFilter

继承

DisplacementMapFilter

BitmapFilter

Object

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

DisplacementMapFilter类使用指定的BitmapData对象(称为置换图图像)的像素值执行对象置换。

您可以使用此滤镜将扭曲或斑点效果应用于从DisplayObject类中继承的任何对象,例如MovieClip、SimpleButton、TextField和Video对象,以及BitmapData对象。

滤镜的具体使用取决于要应用滤镜的对象:

∙若要将滤镜应用于显示对象,请使用显示对象的filters属性。

设置对象的filters属性不会修改相应的对象,而清除filters属性可以删除相应的滤镜。

∙若要对BitmapData对象应用滤镜,请使用BitmapData.applyFilter()方法。

对BitmapData对象调用applyFilter()会取得源BitmapData对象和滤镜对象,并生成一个过滤后的图像。

如果对显示对象应用滤镜,则该显示对象的cacheAsBitmap属性值将设置为true。

如果清除所有滤镜,将恢复cacheAsBitmap的原始值。

此滤镜使用以下公式:

dstPixel[x,y]=srcPixel[x+((componentX(x,y)-128)*scaleX)/256,y+((componentY(x,y)-128)*scaleY)/256)

其中,componentX(x,y)从mapBitmap属性获得(x-mapPoint.x,y-mapPoint.y)处的componentX属性颜色值。

滤镜使用的映射图像会进行缩放,以匹配舞台缩放比例。

当对象自身呈一定的比例时,它不会进行缩放。

此滤镜支持舞台缩放。

但不支持常规缩放、旋转和倾斜。

如果对象本身进行了缩放(如果将scaleX和scaleY属性设置为除1.0以外的其它值),滤镜效果将不进行缩放。

只有用户在舞台上进行放大时它才会缩放。

查看示例

另请参见

flash.display.BitmapData.applyFilter()

flash.display.DisplayObject.filters

flash.display.DisplayObject.cacheAsBitmap

 

公共属性

 

属性

定义方

 

 

alpha:

Number

指定对于超出范围的替换应用的Alpha透明度值。

DisplacementMapFilter

 

 

color:

uint

指定对于超出范围的替换应用什么颜色。

DisplacementMapFilter

 

 

componentX:

uint

说明在映射图像中使用哪个颜色通道来置换x结果。

DisplacementMapFilter

 

 

componentY:

uint

说明在映射图像中使用哪个颜色通道来置换y结果。

DisplacementMapFilter

 

constructor:

Object

对类对象或给定对象实例的构造函数的引用。

Object

 

 

mapBitmap:

BitmapData

包含置换映射数据的BitmapData对象。

DisplacementMapFilter

 

 

mapPoint:

Point

一个值,它包含目标显示对象的左上角相对于映射图像左上角的偏移量。

DisplacementMapFilter

 

 

mode:

String

滤镜模式。

DisplacementMapFilter

 

prototype:

Object

[静态]对类或函数对象的原型对象的引用。

Object

 

 

scaleX:

Number

用于缩放映射计算的x置换结果的乘数。

DisplacementMapFilter

 

 

scaleY:

Number

用于缩放映射计算的y置换结果的乘数。

DisplacementMapFilter

公共方法

 

方法

定义方

 

 

DisplacementMapFilter(mapBitmap:

BitmapData=null,mapPoint:

Point=null,componentX:

uint=0,componentY:

uint=0,scaleX:

Number=0.0,scaleY:

Number=0.0,mode:

String="wrap",color:

uint=0,alpha:

Number=0.0)

用指定参数初始化DisplacementMapFilter实例。

DisplacementMapFilter

 

 

clone():

BitmapFilter

返回此滤镜对象的副本。

DisplacementMapFilter

 

hasOwnProperty(name:

String):

Boolean

指示对象是否已经定义了指定的属性。

Object

 

isPrototypeOf(theClass:

Object):

Boolean

指示Object类的实例是否在指定为参数的对象的原型链中。

Object

 

propertyIsEnumerable(name:

String):

Boolean

指示指定的属性是否存在、是否可枚举。

Object

 

setPropertyIsEnumerable(name:

String,isEnum:

Boolean=true):

void

设置循环操作动态属性的可用性。

Object

 

toString():

String

返回指定对象的字符串表示形式。

Object

 

valueOf():

Object

返回指定对象的原始值。

Object

属性详细信息

alpha

属性

alpha:

Number  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

指定对于超出范围的替换应用的Alpha透明度值。

它被指定为0.0到1.0之间的标准值。

例如,0.25设置透明度值为25%。

默认值为0。

如果mode属性设置为DisplacementMapFilterMode.COLOR,则使用此属性。

实现

    publicfunctiongetalpha():

Number

    publicfunctionsetalpha(value:

Number):

void

color

属性

 

color:

uint  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

指定对于超出范围的替换应用什么颜色。

置换的有效范围是0.0到1.0。

值采用十六进制格式。

color的默认值为0。

如果mode属性设置为DisplacementMapFilterMode.COLOR,则使用此属性。

实现

    publicfunctiongetcolor():

uint

    publicfunctionsetcolor(value:

uint):

void

componentX

属性

 

componentX:

uint  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

说明在映射图像中使用哪个颜色通道来置换x结果。

可能的值为BitmapDataChannel常量:

∙BitmapDataChannel.ALPHA

∙BitmapDataChannel.BLUE

∙BitmapDataChannel.GREEN

∙BitmapDataChannel.RED

实现

    publicfunctiongetcomponentX():

uint

    publicfunctionsetcomponentX(value:

uint):

void

另请参见flash.display.BitmapDataChannel

componentY

属性

 

componentY:

uint  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

说明在映射图像中使用哪个颜色通道来置换y结果。

可能的值为BitmapDataChannel常量:

∙BitmapDataChannel.ALPHA

∙BitmapDataChannel.BLUE

∙BitmapDataChannel.GREEN

∙BitmapDataChannel.RED

实现

    publicfunctiongetcomponentY():

uint

    publicfunctionsetcomponentY(value:

uint):

void

另请参见flash.display.BitmapDataChannel

mapBitmap

属性

 

mapBitmap:

BitmapData  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

包含置换映射数据的BitmapData对象。

实现

    publicfunctiongetmapBitmap():

BitmapData

    publicfunctionsetmapBitmap(value:

BitmapData):

void

引发

TypeError—设置时BitmapData为null

另请参见flash.display.BitmapData

mapPoint

属性

 

mapPoint:

Point  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

一个值,它包含目标显示对象的左上角相对于映射图像左上角的偏移量。

实现

    publicfunctiongetmapPoint():

Point

    publicfunctionsetmapPoint(value:

Point):

void

引发

TypeError—设置时Point为null

另请参见flash.geom.Point

mode

属性

 

mode:

String  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

滤镜模式。

可能的值为DisplacementMapFilterMode常量:

∙DisplacementMapFilterMode.WRAP--将置换值折返到源图像的另一侧。

∙DisplacementMapFilterMode.CLAMP--将置换值锁定在源图像的边缘。

∙DisplacementMapFilterMode.IGNORE--如果置换值超出了范围,则忽略置换并使用源像素。

∙DisplacementMapFilterMode.COLOR--如果置换值在图像之外,则替换color和alpha属性中的值。

实现

    publicfunctiongetmode():

String

    publicfunctionsetmode(value:

String):

void

引发

TypeError—设置时String为null

 

ArgumentError—模式字符串不是有效类型之一

另请参见flash.filters.DisplacementMapFilterMode

scaleX

属性

 

scaleX:

Number  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

用于缩放映射计算的x置换结果的乘数。

实现

    publicfunctiongetscaleX():

Number

    publicfunctionsetscaleX(value:

Number):

void

scaleY

属性

 

scaleY:

Number  [读写]

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

用于缩放映射计算的y置换结果的乘数。

实现

    publicfunctiongetscaleY():

Number

    publicfunctionsetscaleY(value:

Number):

void

构造函数详细信息

DisplacementMapFilter

()

构造函数

publicfunctionDisplacementMapFilter(mapBitmap:

BitmapData=null,mapPoint:

Point=null,componentX:

uint=0,componentY:

uint=0,scaleX:

Number=0.0,scaleY:

Number=0.0,mode:

String="wrap",color:

uint=0,alpha:

Number=0.0)

语言版本:

 

ActionScript3.0

产品版本:

 

Lite2.0

运行时版本:

 

AIR1.0,FlashPlayer9

用指定参数初始化DisplacementMapFilter实例。

参数

mapBitmap:

BitmapData(default=null)—包含置换映射数据的BitmapData对象。

 

mapPoint:

Point(default=null)—一个值,它包含目标显示对象的左上角相对于映射图像左上角的偏移量。

 

componentX:

uint(default=0)—说明在映射图像中使用哪个颜色通道来置换x结果。

可能的值为BitmapDataChannel常量。

 

componentY:

uint(default=0)—说明在映射图像中使用哪个颜色通道来置换y结果。

可能的值为BitmapDataChannel常量。

 

scaleX:

Number(default=0.0)—用于缩放映射计算的x置换结果的乘数。

 

scaleY:

Number(default=0.0)—用于缩放映射计算的y置换结果的乘数。

 

mode:

String(default="wrap")—滤镜模式。

可能的值为DisplacementMapFilterMode常量。

 

color:

uint(default=0)—指定对于超出范围的替换应用什么颜色。

置换的有效范围是0.0到1.0。

如果mode设置为DisplacementMapFilterMode.COLOR,则使用此参数。

 

alpha:

Number(default=0.0)—指定对于超出范围的替换应用什么Alpha值。

它被指定为0.0到1.0之间的标准值。

例如,0.25设置透明度值为25%。

如果mode设置为DisplacementMapFilterMode.COLOR,则使用此参数。

另请参见

flash.display.BitmapDataChannel

flash.filters.DisplacementMapFilterMode

方法详细信息

clone

()

方法

overridepublicfunctionclone():

BitmapFilter

语言版本:

 

ActionScript3.0

运行时版本:

 

AIR1.0,FlashPlayer9

返回此滤镜对象的副本。

返回

BitmapFilter—具有与原始实例相同的所有属性的新DisplacementMapFilter实例。

示例如何使用示例

以下示例通过放射状渐变填充绘制一个正方形,创建一个文本字段和一个BitmapData对象,并将置换图滤镜应用于DisplacementMapFilterExample对象。

该示例的一般工作流程如下:

1.该类为背景颜色、文本字段标签以及将用于各种函数的大小和偏移定义变量。

2.构造函数调用draw()方法,该方法使用Graphics类的方法通过放射状渐变填充绘制一个正方形。

请注意,graphics是扩展Sprite的DisplacementMapFilterExample对象的属性。

3.构造函数调用createLabel()方法,该方法创建显示labelText值的文本字段,并将其添加到显示列表。

4.构造函数调用createFilter()方法,该方法执行以下操作:

o为滤镜对象创建名为filter的变量。

o调用getDisplacementMapFilter()方法并将其返回值赋予filter变量。

o将filter传递给DisplacementFilterExample对象(主类)的filters属性。

5.getBitmapFilter()方法创建一个名为mapBitmap的BitmapData对象,并将createBitmapData()方法的结果赋予它。

mapBitmap对象以及其它变量定义了新的置换图滤镜。

6.createBitmapData()方法创建新的BitmapData对象,该对象基于DisplacementMapFilterExample对象的当前内容。

它基于bitmapData创建新位图,并将该位图添加到舞台。

package{

importflash.display.Bitmap;

importflash.display.BitmapData;

importflash.display.BitmapDataChannel;

importflash.display.GradientType;

importflash.display.SpreadMethod;

importflash.display.Sprite;

importflash.filters.BitmapFilter;

importflash.filters.DisplacementMapFilter;

importflash.filters.DisplacementMapFilterMode;

importflash.geom.Matrix;

importflash.geom.Point;

importflash.text.TextField;

publicclassDisplacementMapFilterExampleextendsSprite{

privatevarbgColor:

uint=0xFFCC00;

privatevarsize:

uint=200;

privatevaroffset:

uint=90;

privatevarlabelText:

String="Watchthetextbendwiththedisplacementmap";

publicfunctionDisplacementMapFilterExample(){

draw();

createLabel();

createFilter();

}

privatefunctioncreateFilter():

void{

varfilter:

BitmapFilter=getBitmapFilter();

filters=newArray(filter);

}

privatefunctiongetBitmapFilter():

BitmapFilter{

varmapBitmap:

BitmapData=createBitmapData();

varmapPoint:

Point=newPoint(0,0);

varchannels:

uint=BitmapDataChannel.RED;

varcomponentX:

uint=channels;

varcomponentY:

uint=channels;

varscaleX:

Number=0.5;

varscaleY:

Number=-30;

varmode:

String=DisplacementMapFilterMode.CLAMP;

varcolor:

uint=0;

varalpha:

Number=0;

returnnewDisplacementMapFilter(mapBitmap,

mapPoint,

componentX,

componentY,

scaleX,

scaleY,

mode,

color,

alpha);

}

privatefunctiondraw():

void{

varmatrix:

Matrix=newMatrix();

matrix.createGradientBox(size,size);

g

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1