我的flex应用程序中有一个视频显示。它被装在摄像机上。摄像机分辨率可以根据用户的选择而变化,而视频显示(预览)尺寸是固定的。然后我这样做:
bmd.draw(vidDisplay);
其中bmd是位图..问题是生成的位图具有正确的摄像机设置大小(已设置),但从视频中捕获的大小始终是位图中视频显示的大小。我希望我说得有道理..结果看起来像是一张大图中的一张小图片,左上角对齐。
我想有一个固定高度的视频显示预览,但能够拍摄不同分辨率的快照。如有任何帮助,我们不胜感激!
发布于 2011-02-03 16:31:20
您可以在创建位图时设置它的大小:
var bmd: BitmapData = new BitmapData(video.width, video.height);
然后将videoDisplay (视频本身,而不是预览窗口)绘制到其中:
bmd.draw(vidDisplay);
发布于 2011-02-04 00:43:46
最简单的方法是在拍摄快照之前简单地调整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
对象,那就更好了。
https://stackoverflow.com/questions/4881906
复制相似问题