当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > AS2.0高级滤镜效果如何用在JPG图片上

ActionScript
将FlashVars写在JS函数中,实现变量更新与后台同步
Flash与Flex3结合学习心得体会
Flash AS简单制作画线条动画
Flash教程:如何把库中的元件加载到场景中
Flash AS3运行错误参考文档
Flash AS3制作自由落体运动代码解析
多层级加载相对路径遇到的问题解决方法
加载PNG后其透明区域不响应事件
AS3教程:按顺序播放多个FLV视频
Flash AS与JS的互动
Flash AS实例:智力过河小游戏源代码
Flash as教程:图片模糊运动
Flash AS3实例教程:物体运动速度向量(velocity)
Flash AS3.0教程:学习帧循环的运用
Flash AS3动态改变影片剪辑元件颜色
Flash AS 制作创意的鼠标经过的网页导航
Flash AS实例教程 会眨眼的美女
Flash AS2实例 跳动的小球动画效果
Flash AS3实例:制作好看的七彩小球动画
AS2.0高级滤镜效果如何用在JPG图片上

ActionScript 中的 AS2.0高级滤镜效果如何用在JPG图片上


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 56 ::
收藏到网摘: n/a

问:像PS里的素描、浮雕、水彩等 一些高级滤镜效果如何制作,用在JPG上面的。求救了,各位大虾出手相助一下吧....

终极讨厌答:有这样的类包,但主要都是通过颜色矩阵滤镜和回旋滤镜结合实现的。

请先去http://www.flashtc.com/article.asp?articleid=1890 下载Flash8 滤镜下载完毕后解压,把那个“fl”文件夹复制到这里:C:\Program Files\Macromedia\Flash 8\zh_cn\First Run\Classes,然后就可以用as来调用了。我做了一些练习,熟悉了一下,效果真不错,挺丰富。

这是代码,留着自己查看,有兴趣的朋友可以看看,先别头晕,我是把很多滤镜都写在一起了,其实每个滤镜都是很短的代码。


//主语句 

import fl.awt.img.filter.*; 

import flash.display.BitmapData; 

//各种滤镜的写法: 

/*浮雕滤镜的写法,ReliefFilter(浮雕方向,浮雕强度) 

var lvjing = new ReliefFilter(1, 10); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray*/ 

/*通道选择滤镜的写法,ChannelChangeFilter(1红|2绿 |4兰, 是否平分通道)8代表通道alpha 

var lvjing = new ChannelChangeFilter(1| 2 | 8, false); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray;*/ 

/* 

//布纹滤镜的写法,new ClothFilter(myBitmapData,布纹强度); 

//条件:需要创建BitmapData,最好大于等于图像。 

stop() 

var n = 0; 

onEnterFrame = function () { 

n++; 

var myBitmapData:BitmapData = new BitmapData(460, 150, true, 0xCCCCCCCC); 

var lvjing = new ClothFilter(myBitmapData, n); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray; 

if (n>100) { 

delete this.onEnterFrame; 



}; 

*/ 

/* 

//反转颜色的滤镜ReversesFilter();没有参数 

var lvjing=new ReversesFilter(); 

pic.filters=[lvjing]*/ 

/* 

//查找边缘滤镜的写法new SearchEdgeFilter(查找方向,查找强度) 

var lvjing = new SearchEdgeFilter(2, 8); 

pic.filters = [lvjing];*/ 

/* 

//锐化滤镜new SharpenFilter(锐化强度) 

var lvjing = new SharpenFilter(200); 

pic.filters = [lvjing];*/ 

/* 

//扩散滤镜,需要BitmapData,new SplattersFilter(myBitmapData, 扩散宽度, 扩散高度) 

stop(); 

scalex = 50; 

scaley = 50; 

onEnterFrame = function () { 

scalex--; 

scaley--; 

var myBitmapData:BitmapData = new BitmapData(460, 150, true, 0xCCCCCCCC); 

var lvjing = new SplattersFilter(myBitmapData, scalex, scaley); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray; 

if (scalex == 0) { 

delete this.onEnterFrame; 



}; 

*/ 

/* 

//水彩滤镜new WaterColorFilter(myBitmapData, 水彩宽度, 水彩高度) 

stop(); 

scalex = 50; 

scaley = 50; 

onEnterFrame = function () { 

scalex--; 

scaley--; 

var myBitmapData:BitmapData = new BitmapData(460, 150, true, 0xCCCCCCCC); 

var lvjing = new WaterColorFilter(myBitmapData, scalex, scaley); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray; 

if (scalex == 0) { 

delete this.onEnterFrame; 



};*/ 

/* 

//水波滤镜new WaveFilter(myBitmapData, 水波宽度, 水波高度) 

stop(); 

scalex = 50; 

scaley = 50; 

onEnterFrame = function () { 

scalex--; 

scaley--; 

var myBitmapData:BitmapData = new BitmapData(460, 150, true, 0xCCCCCCCC); 

var lvjing = new WaveFilter(myBitmapData, scalex, scaley); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray; 

if (scalex == 0) { 

delete this.onEnterFrame; 



};*/ 

/* 

//飓风滤镜new WindFilter(myBitmapData, 风速,是否水平); 

stop(); 

var speed:Number = 50; 

var shuiping = false; 

onEnterFrame = function () { 

speed--; 

var myBitmapData:BitmapData = new BitmapData(460, 150, true, 0xCCCCCCCC); 

var lvjing = new WindFilter(myBitmapData, speed, shuiping); 

var filterArray:Array = new Array(); 

filterArray.push(lvjing); 

pic.filters = filterArray; 

if (speed == 0) { 

delete this.onEnterFrame; 



};*/