`
hereson
  • 浏览: 1454202 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

AS3-DisplayEffect组件

阅读更多

[AS3]DisplayEffect组件
【组件版本】:0.5
【功能简述】:可对DisplayObject显示类进行模糊,锐化,浮雕,色调,亮度,对比度等特效处理。
【运行平台】:Flash CS3,ActionScript3,Flash Player 9 +
【功能演示】:
演示程序会自动测试你是否有摄像头,如果有就调用摄像头,如果没有就调用一个swf动画文件

 

 

 

 

[AS3]DisplayEffect组件
【组件版本】:0.5
【功能简述】:可对DisplayObject显示类进行模糊,锐化,浮雕,色调,亮度,对比度等特效处理。
【运行平台】:Flash CS3,ActionScript3,Flash Player 9 +
【功能演示】:
演示程序会自动测试你是否有摄像头,如果有就调用摄像头,如果没有就调用一个swf动画文件。
<script src="/media/swfobject.js" type="text/javascript"></script> <script type="text/javascript"></script>

【调用接口】:

  1. public interface com.klstudio.images.DisplayEffect {   
  2.   
  3.     //清除特效;   
  4.     function clear():void;   
  5.   
  6.     //高斯模糊(uint);   
  7.     function blur(blurX:uint=4,blurY:uint=4):void;   
  8.        
  9.     //浮雕([B,BL,BR,L,R,T,TL,TR],String);   
  10.     function emboss(direction:String = null):void;     
  11.        
  12.     //锐化([1~3],uint)   
  13.     function sharpen(quality:uint=3):void;   
  14.        
  15.     //色调([0x000000 ~ 0xFFFFFF],uint)   
  16.     function color(color:uint):void;   
  17.        
  18.     //亮度([-255~255],int)   
  19.     function brightness(offset:int):void;   
  20.        
  21.     //灰度   
  22.     function grayscale():void;   
  23.        
  24.     //饱和度([0~3],Number)   
  25.     function saturation(strength:Number):void;   
  26.        
  27.     //对比度([0~1],Number)   
  28.     function contrast(strength:Number):void;   
  29.        
  30.     //反相   
  31.     function invert():void;   
  32. }  

【实例调用】:

  1. package project.test {   
  2.        
  3.     import fl.controls.ComboBox;   
  4.        
  5.     import flash.filters.*;   
  6.     import flash.net.*;   
  7.     import flash.utils.*;   
  8.     import flash.display.*;    
  9.     import flash.events.*;     
  10.     import flash.media.Camera;   
  11.     import flash.media.Video;      
  12.     import flash.text.*;   
  13.        
  14.     import com.klstudio.images.DisplayEffect;   
  15.        
  16.   
  17.     public class Test8 extends Sprite{   
  18.         private var _src:DisplayObject;   
  19.         private var _new:DisplayObject;   
  20.         private var _df:DisplayEffect;   
  21.         private var _hasCam:Boolean;   
  22.         private var effect_cb:ComboBox;     
  23.         public function Test8(){   
  24.                
  25.             graphics.lineStyle(1,0x999999);   
  26.             graphics.beginFill(0xCCCCCC);   
  27.             graphics.drawRect(5,5,320,240);   
  28.             graphics.drawRect(330,5,320,240);   
  29.             var cam:Camera = Camera.getCamera();   
  30.             if(cam == null){       
  31.                 initLoader();   
  32.             }else{   
  33.                 initVideo(cam);   
  34.             }   
  35.                
  36.             effect_cb = new ComboBox();            
  37.             effect_cb.move(5,250);   
  38.             effect_cb.addItem({label:"浮雕",data:"emboss"});    
  39.             effect_cb.addItem({label:"高斯模糊",data:"blur"});    
  40.             effect_cb.addItem({label:"锐化",data:"sharpen"});   
  41.             effect_cb.addItem({label:"色调",data:"color"});    
  42.             effect_cb.addItem({label:"亮度",data:"brightness"});    
  43.             effect_cb.addItem({label:"对比度",data:"contrast"});   
  44.             effect_cb.addItem({label:"饱和度",data:"saturation"});    
  45.             effect_cb.addItem({label:"灰度",data:"grayscale"});    
  46.             effect_cb.addItem({label:"反相",data:"invert"});   
  47.             effect_cb.addEventListener(Event.CHANGE,changeEffectHandler);   
  48.             addChild(effect_cb);   
  49.                
  50.             var id:uint = getRndNumber(0,effect_cb.length);   
  51.             effect_cb.selectedIndex = id;   
  52.             switch(id){   
  53.                 case 0:                    
  54.                     _df.emboss();   
  55.                 break;   
  56.                 case 1:                    
  57.                     _df.blur(15,15);   
  58.                 break;   
  59.                 case 2:                    
  60.                     _df.sharpen();   
  61.                 break;   
  62.                 case 3:                    
  63.                     _df.color(0x0000FF);   
  64.                 break;   
  65.                 case 4:                    
  66.                     _df.brightness(100);   
  67.                 break;   
  68.                 case 5:                    
  69.                     _df.contrast(0.7);   
  70.                 break;   
  71.                 case 6:                    
  72.                     _df.saturation(2.5);   
  73.                 break;   
  74.                 case 7:                    
  75.                     _df.grayscale();   
  76.                 break;   
  77.                 case 8:                    
  78.                     _df.invert();   
  79.                 break;   
  80.             }   
  81.                
  82.             //copyright;   
  83.             var copyright:TextField = new TextField();   
  84.             copyright.autoSize = TextFieldAutoSize.LEFT;   
  85.             copyright.selectable = false;   
  86.             copyright.defaultTextFormat = new TextFormat("Verdana",9,0xFFFFFF,true,null,null,"http://www.klstudio.com","_blank");   
  87.             copyright.text = "POWERED BY KINGLONG";   
  88.             copyright.x = 655 - copyright.width - 5;   
  89.             copyright.y = 280 - copyright.height - 5;   
  90.             var filter:BitmapFilter = getBitmapFilter();   
  91.             copyright.filters = [filter];   
  92.             copyright.alpha = 0.8;   
  93.             addChild(copyright);   
  94.         }   
  95.            
  96.         private function changeEffectHandler(event:Event):void{   
  97.             _df.clear();   
  98.             switch(event.target.value){   
  99.                 case "emboss":                     
  100.                     _df.emboss();   
  101.                 break;   
  102.                 case "blur":                       
  103.                     _df.blur(10);   
  104.                 break;   
  105.                 case "sharpen":                    
  106.                     _df.sharpen();   
  107.                 break;   
  108.                 case "color":                      
  109.                     _df.color(0x0000FF);   
  110.                 break;   
  111.                 case "brightness":                     
  112.                     _df.brightness(100);   
  113.                 break;   
  114.                 case "contrast":                       
  115.                     _df.contrast(0.7);   
  116.                 break;   
  117.                 case "saturation":                     
  118.                     _df.saturation(2.5);   
  119.                 break;   
  120.                 case "grayscale":                      
  121.                     _df.grayscale();   
  122.                 break;   
  123.                 case "invert":                     
  124.                     _df.invert();   
  125.                 break;                 
  126.             }   
  127.         }   
  128.            
  129.         private function initVideo(cam:Camera):void{               
  130.             _src = new Video();    
  131.             _src.x = 5;   
  132.             _src.y = 5;   
  133.             addChild(_src);            
  134.                
  135.             _new = new Video();   
  136.             _new.x = 330;   
  137.             _new.y = 5;            
  138.             addChild(_new);   
  139.                
  140.             cam.setMode(320,240,24);   
  141.             cam.setQuality(10*1024*1024,100);   
  142.                
  143.             var video:Video = _src as Video;   
  144.             video.attachCamera(cam);   
  145.                
  146.             video = _new as Video;   
  147.             video.attachCamera(cam);   
  148.                
  149.             _df = new DisplayEffect(_new);     
  150.         }   
  151.            
  152.         private function initLoader():void{   
  153.             _src = new Loader();       
  154.             _src.x = 5;   
  155.             _src.y = 5;   
  156.             addChild(_src);            
  157.                
  158.             _new = new Loader();   
  159.             _new.x = 330;   
  160.             _new.y = 5;            
  161.             addChild(_new);   
  162.                
  163.             var loader:Loader = _src as Loader;   
  164.             loader.load(new URLRequest("/demo/test/anima.swf"));   
  165.                
  166.             loader = _new as Loader;   
  167.             loader.load(new URLRequest("/demo/test/anima.swf"));   
  168.                
  169.             _df = new DisplayEffect(_new);         
  170.         }   
  171.            
  172.         private function getBitmapFilter():BitmapFilter {   
  173.             var color:Number = 0x000000;   
  174.             var alpha:Number = 0.8;   
  175.             var blurX:Number = 2;   
  176.             var blurY:Number = 2;   
  177.             var strength:Number = 6;   
  178.             var inner:Boolean = false;   
  179.             var knockout:Boolean = false;   
  180.             var quality:Number = BitmapFilterQuality.HIGH;   
  181.             return new GlowFilter(color,   
  182.                                   alpha,   
  183.                                   blurX,   
  184.                                   blurY,   
  185.                                   strength,   
  186.                                   quality,   
  187.                                   inner,   
  188.                                   knockout);   
  189.         }   
  190.            
  191.         private function getRndNumber(min:uint,max:uint):uint{   
  192.             return int(Math.random() * (max+1))+min;   
  193.         }   
  194.     }      
  195. }
分享到:
评论

相关推荐

    protoc-gen-as3-1.0.0-rc6-bin.tar

    标题中的"protoc-gen-as3-1.0.0-rc6-bin.tar"是一个压缩包文件,其中包含的是一个名为"protoc-gen-as3"的工具的版本为1.0.0-rc6的二进制版本。这个工具主要用于生成ActionScript 3(AS3)代码,与Google的Protocol ...

    AS3-BAI系列交流伺服用户手册

    AS3-BAI系列交流伺服驱动器的主回路是驱动器的关键组件,用户需要根据实际情况选择合适的主回路设计。 十一、动力线及抱闸接口 AS3-BAI系列交流伺服驱动器的动力线及抱闸接口需要根据实际情况选择合适的设计。

    存储AS520E-M1安装指导书说明书V1.2

    用户需理解这些硬件组件以便于日后的安装、维护和故障排除。 接着,文档中有关AS520E-M1扩展柜的连接方法的介绍,明确指出了如何连接JBOD扩展柜,并强调了必须调试JBOD前面板的ID,保证系统中每个ID值的唯一性。AS...

    yahoo地图组件 yahoo-maps-as3-api-0.9.4-beta.zip

    《Yahoo地图组件:深入探索Yahoo Maps AS3 API 0.9.4 Beta》 Yahoo地图组件,全称为Yahoo Maps AS3 API,是一个专门用于在ActionScript 3(AS3)环境中集成和操作Yahoo地图的服务接口。这个组件允许开发者在Flex、...

    as3比较详尽的工具类

    MCLoader.as ---------------------- loader组件 ProLoader.as ---------------------- 预加载 geom: Rectangular.as ---------------------- 控制目标在矩形区域内 RectangleUI.as.as ---------------------...

    as3-commons源码

    as3-commons-concurrency as3-commons-lang as3-commons-logging as3-commons-reflect as3-commons-bytecode as3-commons-collections as3-commons-emit as3-commons-serialization 我主要是学习了flash日志,as3-...

    as3-plugin-utils.jar.zip

    AS3 Plugin Utils是一个针对ActionScript 3(AS3)开发的插件工具库,它封装了一系列实用函数,旨在简化开发者在使用AS3编程时的工作。这个库被设计为可复用的组件,可以帮助处理常见的编程任务,提高代码的效率和可...

    as3-parser-api.jar.zip

    解析API通常指的是能够处理和解释特定格式数据的软件组件,这里的API可能专注于解析AS3的语法或特定的数据结构。 描述中提到的“as3, parser, api, jar.zip包下载, 依赖包”进一步证实了这个ZIP文件是一个AS3解析...

    as3-parser-api-1.0.RC3.jar.zip

    本文将详述“as3-parser-api-1.0.RC3.jar”这一关键组件,以及其在AS3项目中的应用。 “as3-parser-api-1.0.RC3.jar”是AS3解析API的一个特定版本,RC3代表Release Candidate 3,意味着这是该API在正式发布前的第三...

    as3-plugin-utils-1.0.RC3.jar.zip

    首先,`as3-plugin-utils-1.0.RC3.jar`是这个压缩包的核心组件,它是一个Java Archive (JAR) 文件,用于打包和分发AS3的类库。在这个特定的版本1.0.RC3(Release Candidate 3)中,开发者可以预览并测试即将发布的...

    as3-to-typescript:将 ActionScript3 代码库编译为 TypeScript

    #as3 到打字稿 一个帮助将 as3 代码库移植到 typescript 的工具 ##安装 使用 npm 安装此模块: npm install -g as3-to-typescript ##用法 as3-to-typescript &lt;sourceDir&gt; ##笔记 这个工具不会神奇地将你的...

    AAS-V10-sp2.zip

    3. 高可用性:通过引入集群和负载均衡功能,AAS-V10-sp2可以实现应用服务的高可用,提高系统的稳定性。 4. 管理界面升级:更新后的管理界面更加友好,提供了更丰富的监控和管理功能,便于运维人员实时了解系统状态...

    as3 开源组件

    AS3开源组件是ActionScript 3的开源库和框架集合,它们为开发人员提供了一系列预构建的功能和组件,用于创建富互联网应用程序(RIA)或Flash平台上的交互式内容。ActionScript 3是Adobe Flash Player和Adobe AIR支持...

    as3-parser-1.0.RC3.jar.zip

    在这个特定的JAR文件中,很可能包含了实现AS3语法解析的类和其他相关组件,开发者可以将其作为依赖项引入到他们的项目中,以解析和处理AS3代码。 "License.txt"文件通常包含软件的许可协议,这表明该AS3解析器可能...

    alisoft-xplatform-asf-cache-2.5.1-src.jar

    alisoft-xplatform-asf-cache-2.5.1-src.jar

    as3自定义组件

    在Flash AS3编程环境中,自定义组件是提升应用界面独特性和功能扩展性的关键技术。AS3(ActionScript 3)是Adobe Flash平台的核心脚本语言,用于创建交互式内容、动画以及富互联网应用程序(RIA)。自定义组件允许...

    存储AS520E-M1安装指导书说明书V1.0

    整个安装指导书中还包含有各个组件的详细介绍,例如前面板和后面板的部件说明,这些对于用户了解存储设备的物理组件及其功能非常有帮助。例如,前面板介绍了硬盘插槽、LED面板、外壳把手以及JBOD产品旋转ID开关,...

Global site tag (gtag.js) - Google Analytics