×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 14480|回复: 25

AS3读写本地jpg、gif、png文件

  [复制链接]
发表于 2010-10-8 08:54:09 | 显示全部楼层 |阅读模式
AS3读写本地jpg、gif、png文件

Flash IDE版本Flash CS4

演示:

1、新建FLA文件,宽550,高400像素背景颜色D6D6D6。保存在一个目录下。

2、在舞台上拉一个530*320的长方形,左上角对齐。颜色D6D6D6,并转换为影片剪辑。

3、在属性面板为实例命名bg。

4、添加图层2,打开组件面板。拖Button组件到舞台,命名为 btn_Load。再复制一份,命名为btn_Save。
   按钮btn_Load标签改为加载,按钮btn_Save标签改为保存。

5、添加as层,输入下列代码:
  1. import mx.graphics.codec.IImageEncoder;
  2. import mx.graphics.codec.JPEGEncoder;
  3. import mx.graphics.codec.PNGEncoder;

  4. bg.addEventListener(MouseEvent.MOUSE_DOWN,mouse_down);
  5. bg.addEventListener(MouseEvent.MOUSE_MOVE,mouse_move);
  6. bg.addEventListener(MouseEvent.MOUSE_UP,mouse_up);
  7. btn_Save.addEventListener(MouseEvent.CLICK,doSave);
  8. btn_Load.addEventListener(MouseEvent.CLICK,doLoad);

  9. var md:Boolean=false;
  10. var mc:Sprite=new Sprite();
  11. bg.addChild(mc);
  12. var g:Graphics=mc.graphics;
  13. g.lineStyle(1,0);
  14. function mouse_down(event:MouseEvent):void {
  15.         md=true;
  16.         g.moveTo(event.localX ,event.localY);
  17. }
  18. function mouse_move(event:MouseEvent):void {
  19.         if (md) {
  20.                 g.lineTo(event.localX ,event.localY);
  21.         }
  22. }
  23. function mouse_up(event:MouseEvent):void {
  24.         md=false;
  25. }

  26. function doSave(event:Event):void {
  27.         save();
  28. }
  29. function doLoad(event:Event):void {
  30.         var _fileRef:FileReference=new FileReference();
  31.         _fileRef.addEventListener(Event.SELECT,selectFile);
  32.         _fileRef.addEventListener(Event.COMPLETE, completeHandler);
  33.         _fileRef.browse();
  34. }
  35. function completeHandler(event:Event):void {
  36.         trace("completeHandler: " + event);
  37.         var file:FileReference=FileReference(event.target);
  38.         //var bitmapData:BitmapData=new BitmapData(bg.width,bg.height);
  39.         var ba:ByteArray=new ByteArray();
  40.         file.data.position=0;
  41.         file.data.readBytes(ba);
  42.         var loader:Loader=new Loader();
  43.         loader.contentLoaderInfo.addEventListener(Event.COMPLETE, lch2);
  44.         loader.loadBytes(ba);
  45.         //bg.addChild(loader);
  46. }
  47. function lch2(event:Event):void {
  48.         var loader:Loader=Loader(event.target.loader);
  49.         var bd:BitmapData=new BitmapData(bg.width,bg.height);
  50.         bd.draw(loader.content);
  51.         g.beginBitmapFill(bd);
  52.         g.drawRect(0,0,bg.width,bg.height);
  53.         g.endFill();
  54. }
  55. function selectFile(event:Event):void {
  56.         var file:FileReference=FileReference(event.target);
  57.         trace("openHandler: " + event);
  58.         file.load();
  59. }
  60. function save(defaultFileName:String = null):void {
  61.         var _fileRef:FileReference=new FileReference();
  62.         var _encoder:IImageEncoder=new JPEGEncoder(80);
  63.         var bitmapData:BitmapData=new BitmapData(bg.width,bg.height);
  64.         bitmapData.draw(bg);
  65.         var rect:Rectangle=new Rectangle(0,0,bg.width,bg.height);
  66.         var ba:ByteArray=_encoder.encode(bitmapData);
  67.         _fileRef.save(ba, defaultFileName);
  68.         ba.clear();
  69. }
复制代码
6、把名为mx的类库保存在FLA文件的相同目录中,进行测试。(注意:测试可能需要在Flash IDE外)

最后附上一个全代码的,全代码的加入了火焰效果。它们用的类库是不同的,com.adobe.images是Adobe官方提供的产品之外的类库,目前还没有并入产品中,是投放民间继续开发的。
mx.graphics是Flex中的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[免费注册]

x

评分

参与人数 1 +8 +2 收起 理由
sanbos + 8 + 2 多谢教程,学习了。

查看全部评分

发表于 2010-10-13 21:39:59 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

发表于 2011-5-23 01:47:13 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2012-1-6 08:16:20 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-1-31 14:03:48 | 显示全部楼层
下载失效了啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2013-2-3 15:34:58 | 显示全部楼层
jpg、gif、png文件 Flash IDE版本Flash CS4 演示: http://img.jcwcn.com/attachment/forum/month_1010
回复 支持 反对

使用道具 举报

发表于 2013-4-17 09:18:33 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

发表于 2013-9-26 15:18:44 | 显示全部楼层
赞赞赞赞赞赞赞赞赞赞赞赞
回复 支持 反对

使用道具 举报

发表于 2014-1-24 15:36:10 | 显示全部楼层
下载不了啊
回复 支持 反对

使用道具 举报

发表于 2014-4-21 17:15:21 | 显示全部楼层
难得一见的给力帖子哈。。。 感动在心中,表达在回帖中。
回复 支持 反对

使用道具 举报

发表于 2014-5-8 15:32:07 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2014-5-8 15:32:25 | 显示全部楼层
感动在心中,表达在回帖中。
回复 支持 反对

使用道具 举报

发表于 2014-6-18 17:30:43 | 显示全部楼层
非常感谢, 下载看看
回复 支持 反对

使用道具 举报

发表于 2014-11-26 12:40:29 | 显示全部楼层
好教材,多谢老师
回复 支持 反对

使用道具 举报

发表于 2014-12-27 22:52:18 | 显示全部楼层
正在学习,谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [免费注册]

本版积分规则