Flash/Flex学习笔记(22):滤镜学习
时间:2022-04-23
本文章向大家介绍Flash/Flex学习笔记(22):滤镜学习,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Silverlight中称之为“效果(Effect)”的东东,在Flash里叫“滤镜(Filter)",而且Flash里内置的滤镜要比Silverlight丰富很多,几乎所有对象都有一个filters的属性,它是一个数组,可以将一个或多个滤镜同时应用于某一对象,类似的,如果要去除已经应用的滤镜效果,只要将filters数组清空即可
var _data:DataProvider = new DataProvider();
_data.addItem({label:"不应用任何滤镜",data:""});
_data.addItem({label:"Blur(模糊滤镜)",data:"Blur"});
_data.addItem({label:"Drop shadow(投影滤镜)",data:"DropShadow"});
_data.addItem({label:"Glow(发光滤镜)",data:"Glow"});
_data.addItem({label:"Gradient bevel(渐变斜角滤镜)",data:"GradientBevel"});
_data.addItem({label:"Convolution(卷积滤镜)",data:"Convolution"});
_data.addItem({label:"Blur(模糊滤镜)+DropShadow(投影滤镜)",data:"Blur&DropShadow"});
cbo1.dataProvider=_data;
cbo1.addEventListener(Event.CHANGE,ChangeHandler);
function ChangeHandler(e:Event):void {
var _item:Object = (e.currentTarget as ComboBox).selectedItem;
//trace(_item.data);
switch (_item.data) {
case "Blur" :
img.filters=[new BlurFilter(5,5,3)];
break;
case "DropShadow" :
var _shadow:DropShadowFilter = new DropShadowFilter();
_shadow.distance=10;
_shadow.alpha=0.3;
img.filters=[_shadow];
break;
case "Glow" :
img.filters=[new GlowFilter(0xffff99,0.5,40,40,3,1,false)];
break;
case "GradientBevel" :
var bgColor:uint=0xCCCCCC;
var size:uint=80;
var offset:uint=50;
var distance:Number=5;
var angleInDegrees:Number=225;// opposite 45 degrees
var colors:Array=[0xFFFFFF,0xCCCCCC,0x000000];
var alphas:Array=[1,0.1,1];
var ratios:Array=[0,128,255];
var blurX:Number=8;
var blurY:Number=8;
var strength:Number=2;
var quality:Number=BitmapFilterQuality.HIGH;
var type:String=BitmapFilterType.FULL;
var knockout:Boolean=false;
img.filters = [new GradientBevelFilter(distance,
angleInDegrees,
colors,
alphas,
ratios,
blurX,
blurY,
strength,
quality,
type,
knockout)];
break;
case "Convolution" :
var clamp:Boolean=false;
var clampColor:Number=0xFF0000;
var clampAlpha:Number=1;
var bias:Number=0;
var preserveAlpha:Boolean=false;
var matrixCols:Number=3;
var matrixRows:Number=3;
var matrix:Array = [ 1,1,1,
1,1,1,
1,1,1 ];
var filter:ConvolutionFilter=new ConvolutionFilter(matrixCols,matrixRows,matrix,matrix.length,bias,preserveAlpha,clamp,clampColor,clampAlpha);
img.filters=[filter];
break;
case "Blur&DropShadow" :
var _shadow2:DropShadowFilter = new DropShadowFilter();
_shadow2.distance=10;
_shadow2.alpha=0.3;
img.filters=[new BlurFilter(5,5,3),_shadow2];
break;
case "" :
default :
img.filters=[];
break;
}
}
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.DropShadowFilter;
import flash.filters.BlurFilter;
public class DynamicFilter extends Sprite {
private var dropShadowFilter:DropShadowFilter;
private var blurFilter:BlurFilter;
public function DynamicFilter() {
init();
}
private function init():void {
//注:mm是舞台上的一个图片实例
mm.x = stage.stageWidth/2;
mm.y = stage.stageHeight/2;
dropShadowFilter = new DropShadowFilter();
dropShadowFilter.alpha = 0.3;
blurFilter = new BlurFilter();
addEventListener(Event.ENTER_FRAME, EnterFrameHandler);
}
private function EnterFrameHandler(event:Event):void {
var dx:Number = mouseX - mm.x;
var dy:Number = mouseY - mm.y;
dropShadowFilter.distance = - Math.sqrt(dx*dx+dy*dy)/10;
dropShadowFilter.angle = Math.atan2(dy,dx)*180/Math.PI;
blurFilter.blurX = Math.abs(dx)/30;
blurFilter.blurY = Math.abs(dy)/30;
mm.filters = [blurFilter,dropShadowFilter];
}
}
}
- 【weakfilescan】敏感文件扫描工具
- ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
- ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)
- CVE-2017-11882漏洞复现
- ASP.NET Core使用静态文件、目录游览与MIME类型管理
- Python 黑客——使用Python破解门禁系统
- ASP.NET Core文件上传与下载(多种上传方式)
- 采用Opserver来监控你的ASP.NET项目系列(三、监控你的服务器状态)
- eclipse中运行hbase时不能显示表中的值
- 从 PHP 到 Java
- 用Lua定制Redis命令
- 见招拆招-PostgreSQL中文全文索引效率优化
- 通过2-3-4树理解红黑树
- Hmaster无法启动
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring中Bean的创建流程
- 详解RocketMQ事务消息
- 带你白嫖程序带宽限制命令Trickle
- Fix SSH客户端登录会话超时设置
- JAVA的泛型与反射的联合应用
- 专项测试实战 | 如何测试 App 流畅度(基于 FPS 和丢帧率)
- 计算上传文件的存放路径
- 按照list中实体类的某一属性排序
- java邮件开发
- java计算某日期之后的日期
- 文件上传之Html5 + jQuery上传、asp.net web api接收
- Struts2自定义结果视图(servlet验证码)
- jQuery Ajax传递数组到asp.net web api参数为空
- asp.net web api集成微信服务(使用Senparc微信SDK)
- asp.net web api添加统一异常处理