使用雜點有兩種方法: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);