2010年12月13日 星期一

BitmapData.noise() - 以隨機雜點在影像上填色

noise(randomSeed:int, low:uint = 0, high:uint = 255, channelOptions:uint = 7, grayScale:Boolean = false):void
以呈現隨機雜點的像素來填色影像。
MAX_VALUE 常數
public static const MAX_VALUE:int = 2147483647
可表示之 32 位元的最大具有正負號整數,也就是 2,147,483,647。

適用於 Adobe Flash Professional CS5 的 ActionScript 3.0 參考__●flash.display.BitmapData.noise()

適用於 Adobe  Flash  Professional CS5 的 ActionScript  3.0 參考___最上層_int_公用常數__●MAX_VALUE常數


(一)填色BitmapData物件

991213_BitmapData.noise_1.swf



import flash.display.BitmapData;
import flash.display.Bitmap;

//
var bmd:BitmapData = new BitmapData(450, 290);
var thisSeed:int = int(Math.random()*int.MAX_VALUE);
//
bmd.noise(thisSeed, 0, 255, BitmapDataChannel.RED | BitmapDataChannel.BLUE | BitmapDataChannel.GREEN | BitmapDataChannel.ALPHA, false);
//
var bm:Bitmap = new Bitmap(bmd);
bm.x = 50;
bm.y = 50;
addChild(bm);


主場景背景色改為#FF6600
bmd.noise(thisSeed, 0, 255, BitmapDataChannel.RED | BitmapDataChannel.BLUE | BitmapDataChannel.ALPHA, false);

991213_BitmapData.noise_1a.swf



主場景背景色改為#663333
bmd.noise(thisSeed, 0, 255, BitmapDataChannel.RED | BitmapDataChannel.BLUE | BitmapDataChannel.ALPHA, true);
→ grayScale參數改成true,會將所有顏色色版設為相同值以建立灰階影像。 將此參數設為 true 不會影響所選取的 Alpha 色版。

991213_BitmapData.noise_1a.swf




(二)元件庫中點陣圖內建資源類別,以new運算子實體化,指定給BitmapData類型變數bmd。在此點陣圖素bmd上執行nois()方法。

未執行nois()方法前

991213_BitmapData.noise_2a.swf



執行nois()方法
bmd.noise(thisSeed, 0, 255, BitmapDataChannel.RED | BitmapDataChannel.BLUE | BitmapDataChannel.ALPHA, false);

991213_BitmapData.noise_2b.swf



import flash.display.BitmapData;
import flash.display.Bitmap;

//
var bmd:BitmapData = new MyPhoto(550, 300);
var thisSeed:int = int(Math.random()*int.MAX_VALUE);
//
bmd.noise(thisSeed, 0, 255, BitmapDataChannel.RED | BitmapDataChannel.BLUE | BitmapDataChannel.ALPHA, false);
//
var bm:Bitmap = new Bitmap(bmd);
bm.x = -100;
bm.y = -100;
addChild(bm);

沒有留言: