使用杂点有两种方法:noise()和perlinNoise()
1.noise()方法
说明:使用随机产生的杂点来填充图像。
函数:noise(randomSeed:int , low:uint=0 , high:uint=255 , channelOptions:uint=7 , grayScale:Boolean=false):void
参数:
randomSeed:表示使用的随机种子数
low:要为每个通道生成的最低值(0到255)
high:要为每个通道生成的最高值(0到255)
channelOptions:BitmapDataChannel对象的静态属性值,表示颜色通道
grayScale:是否设置为灰度图像
代码例:
- var bmd1:BitmapData=new BitmapData(200,200,true,0xffcccccc);
- var bmd2:BitmapData=new BitmapData(200,200,false,0x00009900);
- var seed=int(Math.random()*int.MAX_VALUE);
- bmd1.noise(seed,0,255,BitmapDataChannel.BLUE,false);
- bmd2.noise(seed,0,255,BitmapDataChannel.GREEN,true);
- var bm1:Bitmap=new Bitmap(bmd1);
- var bm2:Bitmap=new Bitmap(bmd2);
- bm1.x=0;
- bm1.y=0;
- bm2.x=200;
- bm2.y=200;
- addChild(bm1);
- addChild(bm2);
2.perlinNoise()方法
说明:生成perlin杂点图像,通常用于模拟自然风光,比如木材,云彩或山脉。
函数:perlinNoise(baseX:Number , baseY:Number , numOctaves:uint , randomSeed:int , stich:Boolean , fractalNoise:Boolean , channelOption:uint=7 , grayScale:Boolean=false , offsets:Array=null):void
参数:
baseX:X方向上使用的频率
baseY:Y方向上使用的频率
numOctaves:要组合以创建咋点的 octave函数或各个杂点函数的数目
randomSeed:使用的随机种子数
stitch:平滑图像的转变边缘以创建无缝的纹理
fractalNoise:生成碎片杂点或者湍流
channelOptions:BitmapDataChannel对象的值
grayScale:灰度图像
offsets:偏移量
代码例:
- var bmd1:BitmapData=new BitmapData(200,200,true,0xffcccccc);
- var bmd2:BitmapData=new BitmapData(200,200,false,0x00009900);
- var seed=int(Math.random()*int.MAX_VALUE);
- var channels=BitmapDataChannel.RED | BitmapDataChannel.BLUE;
- bmd1.perlinNoise(100,80,6,seed,false,true,channels,false,null);
- channels=BitmapDataChannel.GREEN | BitmapDataChannel.ALPHA;
- bmd2.perlinNoise(50,90,7,seed,false,true,channels,false,null);
- var bm1:Bitmap=new Bitmap(bmd1);
- var bm2:Bitmap=new Bitmap(bmd2);
- bm1.x=0;
- bm1.y=0;
- bm2.x=200;
- bm2.y=200;
- addChild(bm1);
- addChild(bm2);
转载于:https://blog.51cto.com/sincerecorner/695936