Flex,捕获快照,相机高度和宽度与视频显示不同

时间:2011-02-03 01:39:39

标签: flash flex actionscript-3

我在我的flex应用中有一个视频显示。附在相机上。相机分辨率可能会根据用户的选择而有所不同,而视频显示(预览)尺寸则是固定的。我正在这样做:

bmd.draw(vidDisplay);

其中bmd是位图..问题是生成的位图具有正确的相机设置大小(已设置),但视频中的捕获始终是位图内视频显示的大小。我希望我有意义..结果看起来像一个小图片在一个更大的图像左上方合理..

我想要一个固定高度的视频显示预览,但能够以不同的分辨率拍摄快照..感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以在创建时设置位图的大小:

var bmd: BitmapData = new BitmapData(video.width, video.height);

然后将videoDisplay(视频自身,而不是预览窗口)绘制到其中:

bmd.draw(vidDisplay);

答案 1 :(得分:0)

最简单的方法是在拍摄快照之前简单地调整VideoDisplay的大小。

videoDisplay.width = desiredWidth;
videoDisplay.height = desiredHeight;

// validate immediately to see new size    
videoDisplay.validateNow();

bitmapData.draw(videoDisplay);

// now restore to original size
videoDisplay.width = originalWidth;
videoDisplay.height = originalHeight;

videoDisplay.validateNow();

如果您只是为了拍摄快照而使用单独的flash.media.Video对象,那就更好了。