当前位置: > > > AS3 - 使用代码将元件或图片灰化,还原颜色

AS3 - 使用代码将元件或图片灰化,还原颜色

在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