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