加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

actionscript-3 – 在AS3 180deg中旋转位图数据以进行导出

发布时间:2020-12-15 07:24:12 所属栏目:百科 来源:网络整理
导读:我在AS3闪存中有一个位图,我使用base64编码的jpg字符串将其发送到 javascript. 一切都很好.我需要将img发送到缩小版,然后旋转180度.缩放工作,但不是旋转.轮换永远不会.我知道我显然做错了,但不知道正确的方法. 所以基本上我只需要旋转图像180deg,所以当它被
我在AS3闪存中有一个位图,我使用base64编码的jpg字符串将其发送到 javascript.

一切都很好.我需要将img发送到缩小版,然后旋转180度.缩放工作,但不是旋转.轮换永远不会.我知道我显然做错了,但不知道正确的方法.

所以基本上我只需要旋转图像180deg,所以当它被发送到javascript它是颠倒的.

这是我的转换代码

var scaleFactor:int = 5;

var tempBitmap:BitmapData = new BitmapData(img.width/scaleFactor,img.height/scaleFactor);
var drawMatrix:Matrix = new Matrix(1/scaleFactor,1 /scaleFactor );
drawMatrix.rotate(Math.PI); //180deg

tempBitmap.draw(img,drawMatrix);

解决方法

我认为你需要在旋转后翻译你的对象,否则它会被剪裁,所以你看不到它,我在一个使用CS5的舞台上的MovieClip中做了一个带位图的例子.

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;

var scaleFactor:int = 1;

var tempBitmap:BitmapData = new BitmapData(img.width,img.height);

var rotationMatrix:Matrix = new Matrix();
rotationMatrix.rotate(Math.PI);
rotationMatrix.translate(img.width,img.height);

tempBitmap.draw(box_mc,rotationMatrix);
var output:Bitmap = new Bitmap(tempBitmap);

addChild(output);

我没有弄乱缩放,我猜你自己可以做到这一点.我放在舞台上的那个在右边,绘制的bitmapData是舞台的左上角,并正确反转.

UPDATE

另请参阅下面的32bitkid评论fl.motion.MatrixTransformer!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读