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

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

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


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



};*/