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

ActionScript
Flash AS特效:超绚丽的闪字动画
Flash游戏开发教程:第四节
Flash组件教程:组件动画效果的修改
Flash Actionscript常用的几段代码
彻底消灭Flash动画中的乱码
Flash游戏开发教程:第三节
mc深度的排序值设置方法
Flash as简单制作鼠标跟随文字动画
Flash游戏开发教程:第二节
Flash Actionscript 优化指南
Flash游戏开发教程:第八节
ActionScript的API文档生成工具ASDoc
Flash游戏开发教程:第七节
Flash AS教程:蝌蚪摆尾动画
Flash AS3教程:汉字转拼音
Flash游戏开发教程:第五节
Flash游戏开发教程:第六节
Flash AS3教程:下雪动画效果
Flash as教程:文字散射效果
Flash编写类及外部as文件的方式

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


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



};*/