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