- 在线时间
- 270 小时
- 专家
- 0
- UID
- 33446
- 注册时间
- 2002-10-22
- 帖子
- 428
- 精华
- 4
- 积分
- 1170
- 离线
- 470 天
专长: JAVA ,ActionScript,系统分析
- 帖子
- 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;”一行代码就可以了,接下来就按照上面的接口来调用相应的功能了。
【调用实例】:
- /**
- * ...
- * @author Kinglong
- * @version 0.1
- */
- package project.test {
-
- import flash.display.*;
- import flash.events.*;
- import flash.filters.*;
- import flash.text.*;
- import flash.net.URLRequest;
-
- //导入系统组件;
- import fl.controls.ComboBox;
-
- //导入图片特效处理类ImageEffect;
- import com.klstudio.images.ImageEffect;
-
- public class Test3 extends Sprite{
-
- //源图片对象;
- private var src_bmp:Bitmap;
- //处理后图片对象;
- private var new_bmp:Bitmap;
-
- private var effect_cb:ComboBox;
-
- public function Test3(){
-
- stage.scaleMode = StageScaleMode.NO_SCALE;
-
- //特效类型选择框;
- effect_cb = new ComboBox();
- effect_cb.move(5,5);
- effect_cb.addItem({label:"马赛克",data:"mosaic"});
- effect_cb.addItem({label:"浮雕",data:"emboss"});
- effect_cb.addItem({label:"高斯模糊",data:"blur"});
- effect_cb.addItem({label:"锐化",data:"sharpen"});
- effect_cb.addEventListener(Event.CHANGE,changeEffectHandler);
- addChild(effect_cb);
-
- //加载图片;
- var loader:Loader = new Loader();
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
- loader.load(new URLRequest("/demo/effect/Image.jpg"));
- }
- //图片加载完成事件;
- private function completeHandler(event:Event):void{
- //获得图片对象src_bmp,设置并显示它;
- src_bmp = event.target.content as Bitmap;
- src_bmp.x = 0;
- src_bmp.y = 30;
- addChild(src_bmp);
- //复制一个新图片对象new_bmp;
- new_bmp = copyImage(src_bmp);
- new_bmp.x = 300;
- new_bmp.y = 30;
- addChild(new_bmp);
- //对图片对象进行马赛克特效处理;
- ImageEffect.mosaic(new_bmp);
- }
-
- private function changeEffectHandler(event:Event):void{
- var tmp_bmp:Bitmap = copyImage(src_bmp);
- switch(event.target.value){
- case "mosaic":
- ImageEffect.mosaic(tmp_bmp);
- new_bmp.bitmapData = tmp_bmp.bitmapData;
- break;
- case "emboss":
- ImageEffect.emboss(tmp_bmp);
- new_bmp.bitmapData = tmp_bmp.bitmapData;
- break;
- case "blur":
- ImageEffect.blur(tmp_bmp);
- new_bmp.bitmapData = tmp_bmp.bitmapData;
- break;
- case "sharpen":
- ImageEffect.sharpen(tmp_bmp);
- new_bmp.bitmapData = tmp_bmp.bitmapData;
- break;
- }
- }
-
- //复制图片对象;
- public function copyImage(image:Bitmap):Bitmap{
- return new Bitmap(image.bitmapData.clone());
- }
- }
-
- }
复制代码
[ 本帖最后由 kinglong 于 2007-6-16 01:13 编辑 ] |
-
总评分: 威望 + 3
查看全部评分
|
|
Kinglong 's Blog
专注研究Flash,FCS/FMS,CF,JS,AS,Java,C#等相关技术
|