开启左侧

利用AS3轻松实现图像倒影效果

[复制链接]
etthink 发表于 2013-3-25 22:52:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
三个步骤:
1,导入图片
2,将图片放到舞台,转为影片剪辑,并起个实例名,比如pp
3,将下面代码复制到帧上即可,如果影片剪辑名为别的,则替换一下最后一行函数中的名字即可
效果:
pp.jpg
代码与注释
  1. //定义倒影函数
  2. function createRef(p_source:DisplayObject):void{
  3.    //对源显示对象做上下反转处理
  4.     var bd:BitmapData=new BitmapData(p_source.width,p_source.height,true,0);
  5.     var mtx:Matrix=new Matrix();
  6.     mtx.d=-1;mtx.ty=bd.height;
  7.     bd.draw(p_source,mtx);
  8. //生成一个渐变遮罩
  9.     var width:int=bd.width;
  10.     var height:int=bd.height;
  11.     mtx=new Matrix();
  12.     mtx.createGradientBox(width,height,0.5 * Math.PI);
  13.     var shape:Shape = new Shape();
  14.     shape.graphics.beginGradientFill(GradientType.LINEAR,[0xff,0xff],[0.9,0.0],[0,150],mtx)
  15.     shape.graphics.drawRect(0,0,width,height);
  16.     shape.graphics.endFill();
  17.     var mask_bd:BitmapData=new BitmapData(width,height,true,0);
  18.     mask_bd.draw(shape);
  19. //生成最终效果
  20.     bd.copyPixels(bd,bd.rect,new Point(0,0),mask_bd,new Point(0,0),false);
  21. //将倒影位图放在源显示对象下面
  22.     var ref:Bitmap=new Bitmap();
  23.         ref.x=p_source.x;
  24.     ref.y=p_source.height+p_source.y;
  25.     ref.bitmapData=bd;
  26.     p_source.parent.addChild(ref);
  27. }
  28. //注意里面的参数为导入图像的实例名
  29. createRef(pp);
复制代码
源文件下载:图像倒影效果.rar(103.2KB)
学教育技术,上教育技术论坛!http://www.etthink.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


11关注

462粉丝

7846帖子

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )