问:像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;
- }
- };*/


