package {
import flash.display.Sprite;
import flash.filters.BlurFilter;
import flash.filters.DropShadowFilter;
import flash.filters.GlowFilter;
import flash.filters.BevelFilter;
import flash.filters.GradientBevelFilter;
import flash.filters.GradientGlowFilter;
import flash.filters.ColorMatrixFilter;
import flash.filters.ConvolutionFilter;
import flash.filters.DisplacementMapFilter;
import flash.display.Bitmap;
import flash.display.BitmapDataChannel;
public class FilterMain extends Sprite
{
public function FilterMain()
{
//Drop shadow(投影滤镜)
shad();
//Blur(模糊滤镜)
blur();
//Glow(发光滤镜)
glow();
//Belver(斜角滤镜)
belver();
//Gradient belvel(渐变斜角滤镜)
gradientBelvel();
//Gradient glow(渐变发光滤镜)
gradientGlow();
//Color matrix(颜色矩阵滤镜)
colorMatrix();
//Convolution(卷积滤镜)
convolution();
//Displacement map(置换图滤镜)
displacement();
}
// 投影滤镜
private function shad():void
{
// 距离 角度 颜色 透明度 水平模糊量 垂直模糊量 强度 品质 内部 是否挖空 是否隐藏对象
var filterropShadowFilter = new DropShadowFilter(4, 45, 0xffff00, 1, 6, 6, 1 , 1 ,false, false, false);
var myFilters:Array = new Array();
myFilters.push(filter);
mc1.filters = myFilters;
}
// 模糊滤镜
private function blur():void
{
// 水平模糊量 垂直模糊量 品质
var filter:BlurFilter = new BlurFilter(5, 5, 1);
var myFilters:Array = new Array();
myFilters.push(filter);
mc2.filters = myFilters;
}
// 发光滤镜
private function glow():void
{
// 颜色 透明度 水平模糊量 垂直模糊量 强度 品质 内部 是否挖空
var filter:GlowFilter = new GlowFilter(0xff00ff, 1, 10, 10, 2, 1, false,false);
var myFilters:Array = new Array();
myFilters.push(filter);
mc3.filters = myFilters;
}
// 斜角滤镜
private function belver():void
{
// 距离 角度 颜色 加亮颜色的透明值 斜角的阴影颜色 斜角的阴影透明值 水平模糊量 垂直模糊量 强度 品质 位置 是否挖空
var filter:BevelFilter = new BevelFilter(4, 45,0x0000ff, 1, 0, 1, 4, 4, 1, 1, "inner",false);
var myFilters:Array = new Array();
myFilters.push(filter);
mc4.filters = myFilters;
}
// 斜角渐变滤镜
private function gradientBelvel():void
{
// 偏移距离 角度 颜色数组 colors数组中对应颜色的 Alpha 透明度值的数组 对应于 colors 数组中颜色的一组颜色分布比率 水平模糊量 垂直模糊量 强度 品质 位置 指定对象是否具有挖空效果
var filter:GradientBevelFilter = new GradientBevelFilter(4, 45, new Array(0xfff000,0x000f55),new Array(1,0.8), new Array(50,1), 4, 4, 1, 1, "inner", false);
var myFilters:Array = new Array();
myFilters.push(filter);
mc5.filters = myFilters;
}
// 渐变发光滤镜
private function gradientGlow():void
{
// 距离 角度 颜色数组 colors数组中对应颜色的 Alpha 透明度值的数组 对应于 colors 数组中颜色的一组颜色分布比率 水平模糊量 垂直模糊量 强度 品质 位置 指定对象是否具有挖空效果
var filter:GradientGlowFilter = new GradientGlowFilter(4,45,new Array(0xff55cc,0xcc55ff,0x00ff00),new Array(0.5,0.8,0.5), new Array(30,40,30), 4, 4, 1, 1, "inner",false);
var myFilters:Array = new Array();
myFilters.push(filter);
mc6.filters = myFilters;
}
// 颜色矩阵滤镜
private function colorMatrix():void
{
//详情 请看 http://blog.sina.com.cn/s/blog_49b35d540100aks4.html
var filter:ColorMatrixFilter = new ColorMatrixFilter(new Array(
1,0,0,0,0,//
0,2,0,0,0,//
0,0,1,0,0,//
0,0,0,1,0));//
var myFilters:Array = new Array();
myFilters.push(filter);
mc7.filters = myFilters;
}
// 卷积滤镜
private function convolution():void
{
// 这里是模糊效果 详情 请看 http://www2.flash8.net/teach/3755.htm
// 矩阵的实际列数 矩阵的实际行数 矩阵数据 3*3 一个系数做除数用 一个系数做增量用 是否牵涉到alpha通道,默认为true 是否该图片的边缘不受color参数的影响,默认为true 此参数作为影响图片边缘的颜色 一个替换色的alpha百分比
var filter:ConvolutionFilter = new ConvolutionFilter(3, 3, new Array(1,1,1,1,1,1,1,1,1), 5, 0.5, true, true, 0, 1);
var myFilters:Array = new Array();
myFilters.push(filter);
mc8.filters = myFilters;
}
// 置换图滤镜
private function displacement():void
{ // 详情 请看 http://blog.163.com/mdzhg@126/bl ... 568201042402331281/
var filterisplacementMapFilter = new DisplacementMapFilter(new BM(),mc9.rect,BitmapDataChannel.GREEN,BitmapDataChannel.GREEN,150,150,"wrap",0,1);
var myFilters:Array = new Array();
myFilters.push(filter);
mc9.filters = myFilters;
}
}
}
转自https://www.cnblogs.com/tinytiny/p/3316752.html