视频显示旋转位置已更改
Posted
技术标签:
【中文标题】视频显示旋转位置已更改【英文标题】:Video display rotation position changed 【发布时间】:2015-09-22 01:30:24 【问题描述】:我正在尝试根据角度旋转视频显示。 我得到了总共 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 位置发生了变化,height
和width
也发生了变化。
我尝试了很多东西,但都没有成功。 有什么解决办法吗?
【问题讨论】:
I try many things to set it's x and y but didn't succeed.
喜欢什么???..你说旋转工作正常,但你仍然显示工作代码没有问题的代码?如果您有太多问题,我会使用 netStream
和 Video
对象,因为这些问题可以更好地控制视频..
有什么解决方案?我不知道你想在这里完成什么。
我尝试了像 videoDisplay.x = 100;
这样的静态/固定值。它会解决问题,但不可靠。
【参考方案1】:
视频对象的旋转点固定在左上角,因此您需要将此视频放入容器(MC 或 Sprite)中,并在视频中心放置“x”和“y”。
你可以在 fla 中做到这一点,也可以在代码中做到这一点:
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)
现在你旋转这个容器而不是“videoDisplay”
if(videoAngle == 180)
videoBox.rotation = 180
else if(videoAngle == 90)
videoBox.rotation = -90;
else if(videoAngle == -90)
videoBox.rotation = 90;
【讨论】:
以上是关于视频显示旋转位置已更改的主要内容,如果未能解决你的问题,请参考以下文章
EasyNVR通道设置中水印无法回显以及显示图片异常的问题优化
ubuntu 更显列表 [Connecting to archive.ubuntu.com (2001:67c:1360:8001::21)] 超时的解决方法