视频显示旋转位置已更改

时间:2015-07-04 10:58:32

标签: actionscript-3 flex video actionscript

我试图根据角度旋转视频显示。
我得到了4角0,-90,90,180。

我按照以下方式进行轮换:

if(videoAngle == 180)
{
    videoDisplay.rotation = 180;                            
}
else if(videoAngle == 90)
{
    videoDisplay.rotation = -90;
}
else if(videoAngle == -90)
{
    videoDisplay.rotation = 90;
}

它会轮换videoDisplay,但它的x和y位置会发生变化,heightwidth也会发生变化。

我尝试过很多东西,但没有成功。
有没有解决方案?

1 个答案:

答案 0 :(得分:1)

视频对象的旋转点位于左上方,因此您需要将此视频放入容器(MC或Sprite)中,并使用' x'并且' y'在视频中心。

您可以在fla中执行此操作,但也可以在代码中执行此操作:

-D OPENCV_EXTRA_MODULES_PATH=</path/to/opencv_contrib>/modules

现在你旋转这个容器而不是&#34; videoDisplay&#34;

function putInCenter(display:DisplayObject):Sprite {
    var box:Sprite = new Sprite()
    display.parent.addChild(box)
    box.x = display.x + display.width / 2
    box.y = display.y + display.height / 2
    box.addChild(display)
    display.x = -display.width / 2
    display.y = -display.height / 2
    return box
}

var videoBox:Sprite = putInCenter(videoDisplay)