请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 3776|回复: 3

[AS1&2] [AS3]我的第一个Flash CS3组件—ImageEffect组件 [复制链接]

kinglong 楼主

Flash编程达人

荣誉管理 手机认证 

帖子
428
体力
8145
威望
93
发表于 2007-6-16 00:52:37 |显示全部楼层
[AS3]我的第一个Flash CS3组件—ImageEffect组件
原文地址:http://www.klstudio.com/post/127.html
【功能简述】:ImageEffect组件是用来对Bitmap图片对象进行“马赛克,模糊,锐化,浮雕”等特效处理的纯代码组件。
【运行平台】:Flash CS3,ActionScript3,Flash Player 9 +
【功能演示】:
http://www.klstudio.com/demo/effect/test3.swf
【调用接口】:类路径为com.klstudio.images.ImageEffect。
    1、public static function mosaic(image:Bitmap,distance:uint=5):void
        功能:马赛克处理;
        参数:image为需要处理图片对象;
                    distance为马赛克强度(取值>= 2)。
    2、public static function blur(image:Bitmap,blurX:uint=4,blurY:uint=4):void
        功能:模糊处理;
        参数:image为需要处理图片对象;
                    blurX为水平模糊量;
                    blurY为垂直模糊量;
    3、public static function emboss(image:Bitmap,direction:String = null):void
        功能:浮雕处理;
        参数:image为需要处理图片对象;
                    direction为浮雕方位。
                    取值列表:
                        ImageEffect.DIRECTION_BOTTOM 表示正下方;
                        ImageEffect.DIRECTION_BOTTOM_LEFT 表示左下方;
                        ImageEffect.DIRECTION_BOTTOM_RIGHT 表示右下方;
                        ImageEffect.DIRECTION_LEFT 表示正左方;
                        ImageEffect.DIRECTION_RIGHT 表示正右方;
                        ImageEffect.DIRECTION_TOP 表示正上方;
                        ImageEffect.DIRECTION_TOP_LEFT 表示左上方(这个是默认值);
                        ImageEffect.DIRECTION_TOP_RIGHT 表示右上方;
    4、public static function sharpen(image:Bitmap,quality:uint=3):void
        功能:锐化处理;
        参数:image为需要处理图片对象;
                    quality为锐化品质。
                    取值列表:
                        ImageEffect.QUALITY_HIGH 表示高品质(这个是默认值);
                        ImageEffect.QUALITY_MEDIUM 表示中品质;
                        ImageEffect.QUALITY_LOW 表示低品质;
【使用说明】:
       1、使用前提条件:
              安装了Flash CS3软件;
              安装了 Adobe Extension Manager 1.8扩展管理器,如果没有请先到这里下载:http://www.adobe.com/cn/exchange/em_download/
              下载了ImageEffect组件安装包文件:ImageEffect.mxp
       2、打开ImageEffect组件安装包,将ImageEffect组件安装到Flash CS3里;
       3、将ImageEffect组件拖到正在打开的fla文件的场景或库里,然后在调用代码(或类)的上面加上“import com.klstudio.images.ImageEffect;”一行代码就可以了,接下来就按照上面的接口来调用相应的功能了。
【调用实例】:
  1. /**
  2. * ...
  3. * @author Kinglong
  4. * @version 0.1
  5. */

  6. package project.test {
  7.        
  8.         import flash.display.*;
  9.         import flash.events.*;
  10.         import flash.filters.*;
  11.         import flash.text.*;
  12.         import flash.net.URLRequest;       
  13.        
  14.         //导入系统组件;
  15.         import fl.controls.ComboBox;
  16.        
  17.         //导入图片特效处理类ImageEffect;
  18.         import com.klstudio.images.ImageEffect;
  19.        
  20.         public class Test3 extends Sprite{
  21.                
  22.                 //源图片对象;
  23.                 private var src_bmp:Bitmap;               
  24.                 //处理后图片对象;
  25.                 private var new_bmp:Bitmap;
  26.                
  27.                 private var effect_cb:ComboBox;
  28.                
  29.                 public function Test3(){
  30.                        
  31.                         stage.scaleMode = StageScaleMode.NO_SCALE;
  32.                        
  33.                         //特效类型选择框;
  34.                         effect_cb = new ComboBox();                       
  35.                         effect_cb.move(5,5);
  36.                         effect_cb.addItem({label:"马赛克",data:"mosaic"});
  37.                         effect_cb.addItem({label:"浮雕",data:"emboss"});
  38.                         effect_cb.addItem({label:"高斯模糊",data:"blur"});
  39.                         effect_cb.addItem({label:"锐化",data:"sharpen"});
  40.                         effect_cb.addEventListener(Event.CHANGE,changeEffectHandler);
  41.                         addChild(effect_cb);                       
  42.                        
  43.                         //加载图片;
  44.                         var loader:Loader = new Loader();
  45.                         loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
  46.                         loader.load(new URLRequest("/demo/effect/Image.jpg"));

  47.                 }
  48.                 //图片加载完成事件;
  49.                 private function completeHandler(event:Event):void{
  50.                         //获得图片对象src_bmp,设置并显示它;
  51.                         src_bmp = event.target.content as Bitmap;
  52.                         src_bmp.x = 0;
  53.                         src_bmp.y = 30;
  54.                         addChild(src_bmp);
  55.                         //复制一个新图片对象new_bmp;
  56.                         new_bmp = copyImage(src_bmp);
  57.                         new_bmp.x = 300;
  58.                         new_bmp.y = 30;
  59.                         addChild(new_bmp);
  60.                         //对图片对象进行马赛克特效处理;
  61.                         ImageEffect.mosaic(new_bmp);
  62.                 }
  63.                
  64.                 private function changeEffectHandler(event:Event):void{
  65.                         var tmp_bmp:Bitmap = copyImage(src_bmp);
  66.                         switch(event.target.value){
  67.                                 case "mosaic":                                       
  68.                                         ImageEffect.mosaic(tmp_bmp);
  69.                                         new_bmp.bitmapData = tmp_bmp.bitmapData;
  70.                                 break;
  71.                                 case "emboss":                                       
  72.                                         ImageEffect.emboss(tmp_bmp);
  73.                                         new_bmp.bitmapData = tmp_bmp.bitmapData;
  74.                                 break;
  75.                                 case "blur":                                       
  76.                                         ImageEffect.blur(tmp_bmp);
  77.                                         new_bmp.bitmapData = tmp_bmp.bitmapData;
  78.                                 break;
  79.                                 case "sharpen":                                       
  80.                                         ImageEffect.sharpen(tmp_bmp);
  81.                                         new_bmp.bitmapData = tmp_bmp.bitmapData;
  82.                                 break;
  83.                         }
  84.                 }
  85.                
  86.                 //复制图片对象;
  87.                 public function copyImage(image:Bitmap):Bitmap{
  88.                         return new Bitmap(image.bitmapData.clone());
  89.                 }
  90.         }
  91.        
  92. }
复制代码

[ 本帖最后由 kinglong 于 2007-6-16 01:13 编辑 ]
已有 1 人评分威望 收起 理由
jimohuoshan + 3 谢谢分享

总评分: 威望 + 3   查看全部评分

Kinglong 's Blog
专注研究Flash,FCS/FMS,CF,JS,AS,Java,C#等相关技术
西部数码顶级域名注册商39元抢注!

楚越

银牌会员 手机认证 

帖子
2101
体力
2420
威望
3
发表于 2007-6-16 03:43:05 |显示全部楼层
cool~
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

自在幻想

荣誉管理 手机认证 

帖子
601
体力
2005
威望
59
发表于 2007-6-16 14:21:53 |显示全部楼层
呵呵,不错,顶!
英领科技 引领潮流

使用道具 举报

帖子
3
体力
16
威望
0
发表于 2010-1-6 10:37:42 |显示全部楼层

ImageEffect组件安装包文件

斑竹,,我现在还能下载您的ImageEffect组件安装包文件么?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-12 06:25 , Processed in 0.068280 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部