|
 
- 帖子
- 1669
- 积分
- 334
- 技术分
- 88
- 来自
- 重庆渝北
- 在线时间
- 620 小时
- 注册时间
- 2005-4-9
|
12#
发表于 2006-11-28 22:45
| 只看该作者
进一步测试滤镜效果:- //场景上放若干个MC,实例名依次为:mc1,mc2,mc3,……mc12.
- import flash.filters.*;
- onEnterFrame = function () {
- mc1.filters = [new BlurFilter(_xmouse/10, _ymouse/10, 2)]; //模糊
- mc2.filters = [new DropShadowFilter(10, 0, 0x0000FF, 1, _xmouse/10, _ymouse/10)]; //投影
- mc3.filters = [new GlowFilter(0xFF0000, .5, _xmouse/10, _ymouse/10)]; //发光
- mc4.filters = [new ColorMatrixFilter([0.386, 0.6094, 0.082, 0, 0,
- 0.386, 0.6094, 0.082, 0, 0,
- 0.386, 0.6094, 0.082, 0, 0,
- 0, 0, 0, 1, 0])]; //变灰度,参数是灰度矩阵
- var nRed:Number=0.3086;
- var nGreen:Number=0.6094;
- var nBlue:Number=0.0820;
- var nLevel:Number=_xmouse/400;
- mc5.filters = [new ColorMatrixFilter([(1-nLevel)*nRed+nLevel,(1-nLevel)*nGreen,(1-nLevel)*nBlue,0,0,
- (1-nLevel)*nRed,(1-nLevel)*nGreen+nLevel,(1-nLevel)*nBlue,0,0,
- (1-nLevel)*nRed,(1-nLevel)*nGreen,(1-nLevel)*nBlue+nLevel,0,0,
- 0, 0, 0, 1,0])];//色饱和度,这个计算有点复杂
- var R:Number,G:Number,B:Number
- R=G=B=_xmouse/50;
- mc6.filters = [new ColorMatrixFilter([R,0,0,0,0,
- 0,G,0,0,0,
- 0,0,B,0,0,
- 0,0,0,1,0])];//亮度,同时改变矩阵中RGB。如果不同步,就调色调。
- var nCon:Number=_xmouse/550;
- var nSca:Number=nCon*11;
- var nOff:Number=63.5-(nCon*698.5);
- mc7.filters = [new ColorMatrixFilter([nSca,0,0,0,nOff,
- 0,nSca,0,0,nOff,
- 0,0,nSca,0,nOff,
- 0,0,0,1,0])];//对比度
- mc8.filters = [new ColorMatrixFilter([-1,0,0,0,255,
- 0,-1,0,0,255,
- 0,0,-1,0,255,
- 0,0,0,1,0])];//底片效果,颜色反转
- mc9.filters = [new ConvolutionFilter(3,3,[0,1,0,1,-4,1,0,1,0])];//边缘检测
- mc10.filters = [new ConvolutionFilter(3,3,[0,-1,0,-1,5,-1,0,-1,0])];//锐化
- mc11.filters = [new ConvolutionFilter(3,3,[-2,-1,0,-1,1,1,0,1,2])];//浮雕
- };
复制代码 [ 本帖最后由 ybzjllj 于 2006-11-29 08:16 编辑 ] |
-
-
滤镜实验.swf (16.31 KB)
|