import flash.filters.BitmapFilter;//d導入圖像濾鏡效果
import flash.filters.ColorMatrixFilter;//導入顏色矩陣濾鏡
this.createEmptyMovieClip("yourMc",this.getNextHighestDepth());//創建用來載入圖片的電影剪輯
function loadSwf(holder:MovieClip) {
holder.loadMovie("your.jpg");
var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]);// red
matrix = matrix.concat([0, 1, 0, 0, 0]);// green
matrix = matrix.concat([0, 0, 1, 0, 0]);// blue
matrix = matrix.concat([0, 0, 0, 1, 0]);// alpha
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
holder.filters = new Array(filter);
}
loadSwf(yourMc);
調整顏色:
第一行的值決定了紅色值,第二行決定綠色,第三行藍色,第四行是透明(Alpha)通道值。同樣可以看出首四欄值是與紅,綠,藍,alpha通道值的乘積,而第五欄的值分別是和(偏移量)。注意每行的源值和結果值都是在0到255的區間內。因此即使各個通道的值小於0或大於255都會被強制到該區間內。我來舉些例子說明它的原理
調試效果參考:http://www.adobe.com/devnet/flash/articles/matrix_transformations/ColorMatrixDemo.swf
參考資料:http://bbs.blueidea.com/thread-2660633-1-1.html