AS3 - 使用代码将元件或图片灰化,还原颜色
作者:hangge | 2015-02-26 10:52
在Flex/Flash开发中,有时需要在代码中动态的将图片或元件变灰,同时也可以动态的恢复回原来的颜色。
代码如下:

/**
* 灰化元件
*/
public static function toGrayScale(obj:DisplayObject):void{
var matrix:Array = [0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0];
var grayscaleFilter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
obj.filters = [grayscaleFilter];
}
/**
* 恢复颜色
*/
public static function toOriginalColors(obj:DisplayObject):void{
var matrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
var originalFilter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
obj.filters = [originalFilter];
}
效果图如下:
全部评论(0)