as3.0 用代码设置“调整颜色”滤镜--------即:亮度、对比度、饱和度、色相的调整-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

as3.0 用代码设置“调整颜色”滤镜--------即:亮度、对比度、饱和度、色相的调整

简介:

 相信大家对滤镜这东西,在flash IDE内应用很熟吧?但是在as内怎么用代码实现呢?这个问题还别说,起初真有点犯难,后经高手指点,逐一化解。经验不敢独享,故与大家分享(高手可掠过)。如有疑问,请多多提出咯……

 

 

import fl.motion.ColorMatrix;

import flash.filters.ColorMatrixFilter;

 

//**调整亮度**//

var ld_Matrix:ColorMatrix=new ColorMatrix();

var ld_Filter:ColorMatrixFilter=new ColorMatrixFilter();

ld_Matrix.SetBrightnessMatrix(100);  //设置亮度值,值的大小是 -255--255   0为中间值,向右为亮向左为暗。

ld_Filter.matrix = ld_Matrix.GetFlatArray();

ld_MC.filters = [ld_Filter];

//ld_MC.filters = [];//去除滤镜

 

//**调整对比度**//

var db_Matrix:ColorMatrix=new ColorMatrix();

var db_Filter:ColorMatrixFilter=new ColorMatrixFilter();

db_Matrix.SetContrastMatrix(255);  //设置对比度值,值的大小是 -255--255  127.5为中间值,向右对比鲜明向左对比偏暗。

db_Filter.matrix = db_Matrix.GetFlatArray();

db_MC.filters = [db_Filter];

//db_MC.filters = [];//去除滤镜

 

//**调整饱和度**//

var bh_Matrix:ColorMatrix=new ColorMatrix();

var bh_Filter:ColorMatrixFilter=new ColorMatrixFilter();

bh_Matrix.SetSaturationMatrix(0);  //设置饱和度值,值的大小是 -255--255   1为中间值,0为灰度值(即黑白相片)。

bh_Filter.matrix = bh_Matrix.GetFlatArray();

bh_MC.filters = [bh_Filter];

//bh_MC.filters = [];//去除滤镜

//**调整色相**//

var sx_Matrix:ColorMatrix=new ColorMatrix();

var sx_Filter:ColorMatrixFilter=new ColorMatrixFilter();

sx_Matrix.SetHueMatrix(1);  //设置色相值,值的大小是 -255--255  0为中间值,向右向左一试便知。

sx_Filter.matrix = sx_Matrix.GetFlatArray();

sx_MC.filters = [sx_Filter];

//sx_MC.filters = [];//去除滤镜

 

好了,应用就是这么个方法。大胆去尝试,大胆测试。希望看后有所收获。

另附官方帮助文档地址:

http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/fl/motion/ColorMatrix.html?filter_flash=cs5&filter_flashplayer=10.1&filter_air=2#SetBrightnessMatrix()

http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/filters/ColorMatrixFilter.html

本文转自博客园知识天地的博客,原文链接:as3.0 用代码设置“调整颜色”滤镜--------即:亮度、对比度、饱和度、色相的调整,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: