可使用 GradientGlowFilter 类对显示对象应用渐变发光效果。 渐变发光是一种非常逼真的发光效果,您可以控制颜色渐变。 可以在对象的内缘或外缘的周围或者对象的顶部应用渐变发光。 您可以将滤镜应用于任何显示对象(即,从 DisplayObject 类继承的对象),例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。

滤镜的具体使用取决于要应用滤镜的对象:

  • 要对显示对象应用滤镜,请使用 filters 属性。 设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。
  • 若要对 BitmapData 对象应用滤镜,请使用 BitmapData.applyFilter() 方法。 对 BitmapData 对象调用 applyFilter() 会取得源 BitmapData 对象和滤镜对象,并最终生成一个过滤图像。

如果对显示对象应用滤镜,显示对象的 cacheAsBitmap 属性将设置为 true。 如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。

此滤镜支持舞台缩放。 但是,它不支持常规缩放、旋转和倾斜;如果对象本身进行了缩放(如果将 scaleXscaleY 设置为除 1.0 以外的其它值),滤镜效果将不进行缩放。 只有用户在舞台上进行放大时它才会缩放。

GradientGlowFilter的构造函数:

public function GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)

distance:Number (default = 4.0) — 光晕的偏移距离。

angle:Number (default = 45) — 角度,以度为单位。 有效值为 0 到 360。

colors:Array (default = null) — 定义渐变的颜色数组。 例如,红色为 0xFF0000,蓝色为 0x0000FF 等等。

alphas:Array (default = null) — colors 数组中对应颜色的 Alpha 透明度值的数组。 数组中每个元素的有效值为 0 到 1。 例如,值 .25 将 Alpha 透明度值设置为 25%。

ratios:Array (default = null) — 颜色分布比例的数组。 有效值为 0 到 255。 该值定义颜色采样率为 100% 之处的宽度百分比。

blurX:Number (default = 4.0) — 水平模糊量。 有效值为 0 到 255。 如果模糊量小于或等于 1,则表明原始图像是按原样复制的。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。

blurY:Number (default = 4.0) — 垂直模糊量。 有效值为 0 到 255。 如果模糊量小于或等于 1,则表明原始图像是按原样复制的。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。

strength:Number (default = 1) — 印记或跨页的强度。 该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。 有效值为 0 到 255。 值越大,压印越强。 值为 0 意味着未应用滤镜。

quality:int (default = 1) — 应用滤镜的次数。 使用 BitmapFilterQuality 常数:

type:String (default = "inner") — 滤镜效果的放置。 可能的值是 flash.filters.BitmapFilterType 常数:

knockout:Boolean (default = false) — 指定对象是否具有挖空效果。 应用挖空效果将使对象的填充变为透明,并显示文档的背景颜色。 值为 true 将指定应用挖空效果;默认值为 false,即不应用挖空效果。

例子:

 1 package {
 2     import flash.display.Sprite;
 3     import flash.filters.BitmapFilter;
 4     import flash.filters.BitmapFilterQuality;
 5     import flash.filters.BitmapFilterType;
 6     import flash.filters.GradientBevelFilter;
 7
 8     public class GradientBevelFilterExample extends Sprite {
 9         private var bgColor:uint     = 0xCCffCC;
10         private var size:uint        = 400;
11         private var offset:uint      = 50;
12
13         //设置偏移距离,和angleInDegree一起使用,60表示偏移的距离大小
14         private var distance:Number  = 60;
15         //设置偏移方向,270表示向正方向偏移
16         private var angleInDegree:Number = 270;
17         //设置用于渐变的颜色的集合
18         private var colors:Array     = [0xFF0000, 0xFF0000, 0xff0000, 0xff0000,0xFFffff];
19         //通过透明度的递减来实现渐变效果,和颜色对应
20         private var alphas:Array     = [0.6, 0.4, 0.3, 0.2,0.1];
21         private var ratios:Array     = [0,150,185, 220, 255];
22         //该属性控制在X方向渐变的范围
23         private var blurX:Number     = 300;
24         //该属性控制在Y方向起作用的渐变范围
25         private var blurY:Number     = 200;
26         //改属性控制颜色的区分度
27         private var strength:Number  = 1;
28         private var quality:Number   = BitmapFilterQuality.HIGH;
29         //改属性控制渐变扩散的方向,向内还是向外,还是既内又外
30         private var type:String      = BitmapFilterType.INNER;
31         private var knockout:Boolean = true;
32
33         public function GradientBevelFilterExample() {
34             draw();
35             var filter:BitmapFilter = getBitmapFilter();
36             var myFilters:Array = new Array();
37             myFilters.push(filter);
38             filters = myFilters;
39         }
40
41
42         private function getBitmapFilter():BitmapFilter {
43             return new GradientBevelFilter(distance,
44                 angleInDegree,
45                 colors,
46                 alphas,
47                 ratios,
48                 blurX,
49                 blurY,
50                 strength,
51                 quality,
52                 type,
53                 knockout);
54         }
55
56         private function draw():void {
57             graphics.beginFill(bgColor);
58             graphics.drawRect(offset, offset, size, size);
59             graphics.endFill();
60         }
61     }
62 }

转载于:https://www.cnblogs.com/hisiqi/archive/2012/10/08/2715922.html

flash中的渐变滤镜GradientGlowFilter相关推荐

  1. flash中制的SWC组件怎样导入到flex中使用

    flash中制的SWC组件怎样导入到flex中使用 2010-04-30 11:18 在使用FLASH导出SWC组件文件后,放入项目的LIB文件夹,然后要用实例化一个对象才能进行时操作使用, 但要记得 ...

  2. 使用 NOR Flash 中的supervivi 下载裸机程序到NandFlash

    不容易啊,终于把 将MDK程序下载到我的mini2440开发板上的nand flash的方法找到了,我是利用韦东山老师的那套方法即利用DNW和supervivi下载到nand flash的.当然,只是 ...

  3. STM32如何从串口接收数据,取出数据中的密码段再保存到flash中。

    STM32如何从串口接收数据,取出数据中的密码段再保存到flash中 STM32如何从串口接收数据,取出数据中的密码段再保存到flash中u8 Usart2_buf[256]; unsigned in ...

  4. 如何使用jlink从flash中读取数据保存为bin文件到本地

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/skdkjxy/article/deta ...

  5. 在Flash中调用xml文档

    在Flash中调用xml文档需要用到XML类和XMLNode类中的一些方法和属性.这里我们就不需要用到那么多.把用到的方法和属性列出来: XML类:       XML.ignoreWhite;//处 ...

  6. flash中Stage,stage,root和this的区别用法

    转载自:http://aresleecool.blog.163.com/blog/static/120715798201011895334718/ http://cctv566888.blog.163 ...

  7. flash可以编辑html文本吗,flash中怎么插入并编辑文字字体样式?

    对于许多刚学习FLASH的朋友不太清楚怎么在FLASH中插入文字,然后插入文字后怎么对文字进行各种设置, 效果如下图所示,所以这里小编根据自己经验给大家简单介绍下在FLASH中对文字的编辑处理方法,希 ...

  8. 【动画技巧】在Flash中自定义鼠标外观

    在Flash中实现自定义鼠标外观非常简单,可以直接通过一个MovieClip就实现了,新建一个Flash程序,然后添加一个影片剪辑原件,如下图示. 在这个新建的Flash元件里,可以通过绘图工具绘制或 ...

  9. linux nand 坏块_Nand Flash 中的坏块(Bad Block)

    Nand Flash 中,一个块中含有 1 个或多个位是坏的,就称为其为坏块 Bad Block. 坏块的稳定性是无法保证的,也就是说,不能保证你写入的数据是对的,或者写入对了,读 出来也不一定对的. ...

最新文章

  1. Array 数组去重 总结10方法(7)
  2. python对象编程例子-python面向对象编程:python类和实例讲解
  3. iOS逆向之深入解析App签名的双向验证机制和原理
  4. Spring Bean范围
  5. react(84)--多张图片
  6. zabbix3.2学习笔记(二):服务端安装
  7. 十项全能的java大神
  8. YDOOK:STM32: 最新版选型手册下载 2021
  9. Clover 文件结构
  10. ps怎么导入lut预设?Photoshop导入lut调色预设教程
  11. Android9怎么剪辑音频,音频剪辑铃声制作
  12. vscode设置鼠标滚轮滚动 翻页速度
  13. 如何使用Python抓取移动端APP的评论(小白篇)
  14. u盘win7纯净版_U盘PE启动安装Win7系统教程(微PE版)
  15. mysql assertion_Mysql异常崩溃,提示 Failing assertion: extern_len = part_len
  16. 单页网站快速创富秘籍
  17. 一些格言,希望自己铭记在心
  18. 5G商用价值到底在哪里,可以赋予哪些能力?
  19. idea @Autowired 飘红
  20. 增量学习三个场景的理解

热门文章

  1. mysql主从架构升级_实战项目——mysql主从架构的实现
  2. 图册图册图册图册图册图册
  3. xilinx-arm-linux交叉编译链安装
  4. 什么是Java文件?
  5. Java中的null是什么?
  6. python安全攻防---信息收集---ICMP主机探测 以及optionparser的使用
  7. python千位分隔符_python – 为pandas数据帧中的整数设置千位分隔符
  8. linux怎么修改sftp默认端口,转:linux 修改sftp服务默认提供者sshd的session timeout
  9. [Beego] [bootstrap-paginator]实现分页功能
  10. 86. 分隔链表 golang