2012-01-27 26 views
0

我试图捕捉1920×1080的摄像头捕捉和创造与捕获新位图。我觉得我的所有尺寸设置都正确,但最终的1920x1080位图只包含视频捕获的小型320x240版本。帮帮我!AS3 - 网络摄像头的视频尺寸不结转到新的BitmapData - 默认为320×240

import flash.display.Bitmap; 
import flash.display.BitmapData; 

var bandwidth:int = 1000; // Maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. 
var quality:int = 100; // This value is 0-100 with 1 being the lowest quality. 

var cam:Camera = Camera.getCamera(); 
cam.setQuality(bandwidth, quality); 
cam.setMode(1920,1080,60,true); // setMode(videoWidth, videoHeight, video fps, favor area) 
var video:Video = new Video(); 
video.attachCamera(cam); 
video.x = 0; 
video.y = -100; 
video.width = 1920; 
video.height = 1080; 
addChild(video); 

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

var bitmap:Bitmap = new Bitmap(bitmapData); 
bitmap.x = 0; 
bitmap.y = 0; 
bitmap.width = 1920; 
bitmap.height = 1080; 
addChild(bitmap); 
bitmap.visible = false; 

capture_mc.buttonMode = true; 
capture_mc.addEventListener(MouseEvent.CLICK,captureImage); 

function captureImage(e:MouseEvent):void { 
    bitmapData.draw(video); 
    bitmap.visible = true; 
} 
+0

什么尺寸是你的屏幕上的视频?您是否尝试过在调试器中追踪/检查BitmapData实例的大小?当你说你看到的是“320×240版”,是整个位图320×240,或者是有1600x840更多空(白,默认情况下)像素的位图呢? – ericsoco 2012-05-18 01:08:36

回答

0

尝试降低每秒帧数的,而不是

cam.setMode(1920,1080,60,true); //60 FPS 

尝试

cam.setMode(1920,1080,10,true); //10 FPS 

你并不需要60帧,如果你正在做的是在拍摄快照

也有可能您的摄像头可能不支持1920x1080。也许尝试更小的尺寸以及如果更改FPS没有帮助。

3

我挣扎了一段时间几乎相同的问题。位图图像是所需的大小,但照片本身只占用位图图像内的三分之一空间 - 在其周围留下大量空白区域。

希望有人能提出更好的解决方案,但在这里我就是这样做来解决它:

var trans:Matrix = new Matrix(); 
trans.scale(3, 3); 
bitmapData.draw(v, trans); 

我会建议为你的例子,规模从3更改到320分之1920。

另一个提示:设置相机模式后,尝试跟踪摄像机的高度和宽度。这将告诉你实际捕获了多少像素。例如,在项目中,我尝试设置以下设置:

c.setMode(2048, 1536, 5, true); 
trace (c.width, c.height, "cam res"); 

(其中c =相机) 输出为“960×720凸轮水库” - 暗示这是我的相机能够处理的最大分辨率,而不是预期的2048 1536

产生的画面是不是像素化,但它并不像母体软件拍摄的照片一样好。不知道这是因为我的方法还是我用来压缩位图数据的JPGEnocoder。

同时,(我可能是错的这个) - 但它可能是值得一试:

c.setQuality(0,100); 

从而使带宽不考虑,并把对质量的重视。

相关问题