2D对象转换为3D对象不会产生模糊的算法

原文摘自 : http://www.flashandmath.com/flashcs4/blursol/index.html   里面有源码下载

 

我们在将一个2d图片转换为3d图片时,该图片将会变大一点点, 假如直接设置含该图片的影片剪辑mc的话 

就是这样转换为3D图片:    mc.z= 0;

 由于在进行3d转换时,图片变大了一点,因而导致2d图片变成3d图片后显的很模糊。 demo :在上面的网址可以看到

为了解决模糊,必须要对3d图片进行缩放,缩放原则就是在原来的宽高基础上加1 即:scaleX=宽/(宽+1);  scaleY=高/(高+1)

将2d图片转换为3d图片的算法为:含图片的影片剪辑设为mc

//计算缩放比例:

     var   scaleXFactor  :Number= mc.width/(mc.width+1);

     var   scaleYFactor:Number= mc.height/(mc.height+1);

 

//进行3d转换 :

   mc.scaleX=scaleXFactor;

   mc.ScaleY=scaleYFactor;

   mc.z=0;

 

//将3d还原成2d的

 mc.transform.matrix3D= null;

mc.scaleX=1;

mc.scaleY=1; //缩放还原原来大小

 

 

 

应用:在做任何一个3d时(即转动的3d和其他涉及到3d的应用程序)都可以用上面的方法进行缩放!这样图片才能达到最好的效果

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值