Flash 灵活捕捉快照,相机高度和宽度与视频显示不同

Flash 灵活捕捉快照,相机高度和宽度与视频显示不同,flash,apache-flex,actionscript-3,Flash,Apache Flex,Actionscript 3,我的flex应用程序中有一个视频显示器。它连接到相机上。摄像头分辨率可以根据用户的选择而变化,而视频显示预览尺寸是固定的。我现在这样做: 骨密度显示 其中bmd是位图。。问题是生成的位图具有正确的相机设置大小,但视频捕获始终是位图内视频显示的大小。。我希望我说的有道理。。结果看起来像是左上角对齐的大图片中的一张小图片 我想有一个固定高度的视频显示预览,但能够以不同的分辨率拍摄快照。。感谢您的帮助 您可以在创建位图时设置位图的大小: var bmd: BitmapData = new Bitmap

我的flex应用程序中有一个视频显示器。它连接到相机上。摄像头分辨率可以根据用户的选择而变化,而视频显示预览尺寸是固定的。我现在这样做:

骨密度显示

其中bmd是位图。。问题是生成的位图具有正确的相机设置大小,但视频捕获始终是位图内视频显示的大小。。我希望我说的有道理。。结果看起来像是左上角对齐的大图片中的一张小图片


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

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

var bmd: BitmapData = new BitmapData(video.width, video.height);
然后绘制视频显示视频本身,而不是预览窗口:

bmd.draw(vidDisplay);

最简单的方法是在拍摄快照之前简单地调整视频显示的大小

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对象,则更好。

您可以使用矩阵来更改快照的比例,我没有一个示例,您需要查找它,这是draw方法中的第二个参数,image.drawobj,yourMatrix;这就是我正在做的。。如何设置与视频不同的预览窗口大小。我想这就是问题所在。嗯,我拍了很多照片,拍得相当快。。我认为调整尺寸在我的情况下可能不起作用。我要试一试。另一个选择似乎有点资源密集型不??
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();