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

ActionScript
Flash as入门(4):AS常用语句
Flash as入门(5):学习AS数组
Flash as入门(6):文本与字符串⒒
Flash AS3鼠标事件使用详解
网页中flash的trace方法输出数据
Flash as入门(11):拖动与碰撞检测
AS教程:随机显示数字
Flash AS文本字段的透明度alpha变换
AS教程:对场景和MC添加鼠标监听
AIR设置:transparent和systemChrome
Flash AS3教程:flash.text.TextField
AS教程:理解变量作用域修饰符(modifier)
ActionScript3.0中类间传值问题解决
ActionScript3.0中类的定义以及类属性
Flash AS3教程:类属性的属性
ActionScript3.0教程:变量
ActionScript3.0教程:方法
ActionScript3.0教程:类的枚举
简单认识Flash as面向对象编程
Flash AS2教程:影片剪辑

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 59 ::
收藏到网摘: 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; 



};*/