as3 滤镜学习笔记

1.ColorMatixFilter:这个类用来转变每个像素的颜色,具体转变的算法用一个matrix来实现。

比如

var cmf:ColorMatrixFilter= new ColorMatrixFilter([0,0,0,0,255,

                   0,0,0,0,255,

                   0,0,0,0,255,

                   1,0,0,0,0]);

这一组配置,使图片转变为透明白色,可以作为生成白云,烟雾的效果。

添加滤镜的方法:bitmapData.applyFilter(bitmapData, bitmapData.rect, new Point(), cmf);

2.perlinNoise:BitmapData的这个方法,用来生成一个随机的杂色图像。

bitmapData.perlinNoise(275,275,4,4125,true,true,9,false,offsets);

3.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需要有一个灰度图像(也可以是RBG或RGBA图像中的一个颜色或alpha通道,这个通道本身是一个8位的绘图图像)作为置换映射图,并基于这个映射图的像素对另外一个图像进行扭曲。映射图像中比中性灰亮的像素,目标图像中对应位置的像素向左上角移动。较暗的像素向右下角移动。

                       

mapBitmap:这是一个BitmapData实例对象,你将基于这个对象扭曲目标图像

mapPoint:表示目标图像左上角对应映射图像左上角的偏移量

componentX:通过这个参数将BitmapData实例对象中的颜色或alpha通道设置为映射图像,并基于这  个映射图像在x轴方向置换像素。

componentY:通过这个参数将BitmapData实例对象中的颜色或alpha通道设置为映射图像,并基于这个映射图像在y轴方向置换像素。
因为componentX和componentY是两个单独的参数,所以你可以将x轴置换设置为红色通道,y轴置换设置为绿色通道。

scaleX:这个参数定义了应用置换后在x轴上的偏移量,数值越大,置换效果越明显

scaleY:这个参数定义了应用置换后在y轴上的偏移量,数值越大,置换效果越明显

mode:定义滤镜效果超出图像大小时,该部分像素的处理方式。它的可能值为DisplacementMapFilterMode常量。WRAP表示置换值折返到图像的另一侧;CLAMP的意义和ConvolutionFilter一样,表示置换值重复图像边缘的像素;IGNORE表示忽略置换并使用源像素;COLOR同样和ConvolutionFilter类似,用指定的颜色和透明度替换置换值。

color:当处于COLOR模式时,这个颜色将被用来替换超出源图像之外的像素的颜色

alpha:当处于COLOR模式时,这个透明度将被用来替换超出源图像之外的像素的透明度

原文地址:https://www.cnblogs.com/tinytiny/p/2944399.html