2013-08-01 151 views
0

如何從網絡攝像頭捕捉圖像並使其具有特定的尺寸而沒有空白?從網絡攝像頭捕捉特定尺寸的圖像

我指定所需的大小:

var screenshot:BitmapData = new BitmapData(VD1.width,VD1.height,false);

這是400x300的

然後我畫的位圖從我的視頻元素 screenshot.draw(VD1);

我可以做Camera.getCamera.height.width看看我的相機是352x264px

當我查看生成的圖像時,我看到所有邊緣的空白(灰色,所以你可以告訴),像這樣:![1]

如果您測量實際圖像,你會發現它甚至不佔用352x264像素。即使採用這種測量,右邊緣和底邊緣仍然存在空白。

Camera.setMode方法upscales捕獲,以適應400x300的,但似乎從它連接到(與VD1.attachCamera(myCam)輸出不同的結果時,VD1對象被繪製成位圖視頻對象採取直接捕獲。

我想我所有的拍攝的圖像是相同的大小,無論相機的分辨率是有辦法,我能做到這一點


供參考,在這裏是我如何捕獲圖像:?

private function takeScreenShot():void{ 
    var screenshot:BitmapData = new BitmapData(VD1.width,VD1.height,false); 
    screenshot.draw(VD1); 
    var encoder:PNGEncoder = new PNGEncoder(); 
    var pngByteArray:ByteArray = encoder.encode(screenshot); 

    var responder:Responder = new Responder(function(res:Object):void{ 
     trace("createThumbnail success"); 
    }, 
    function(res:Object):void{ 
     trace("createThumbnail call failed"); 
    }); 

    mync.call("saveThumbnail", responder,pngByteArray); 

} 

下面是我如何設置我的相機

VD1 = new Video(); 
VD1.width = 400; 
VD1.height = 300; 

myMic = Microphone.getMicrophone(); 
myMic.rate = 22; 
myMic.setSilenceLevel(0); 
myMic.setUseEchoSuppression(true); 
myMic.soundTransform = new SoundTransform(0,0); 

myCam = Camera.getCamera(); 
trace(myCam.height+","+ myCam.width); 
myCam.setMode(400,300,15); 
myCam.setQuality(0,100); 
myCam.setLoopback(true); 

回答

相關問題