[转]as3.0 用代码设置“调整颜色”滤镜

[url=http://bbs.9ria.com/viewthread.php?tid=88034&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000]http://bbs.9ria.com/viewthread.php?tid=88034&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000[/url]


相信大家对滤镜这东西,在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 = [];//去除滤镜


[img]http://dl.iteye.com/upload/attachment/521265/b67349ea-892f-3ddb-92a8-60550dc9f6ea.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值