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