2012-04-27 2 views
0

다음 코드를 사용하여 웹캠에서 이미지를 가져옵니다. 내가 직면하고있는 문제는 mcVideo에 "비트 맵"을 맞추어야한다는 것입니다. 비트 맵이 mcVideo보다 크기 때문에 mcVideo.addChild (비트 맵) 만 수행 할 수 없습니다. 미리보기를 위해 mcVideo에 비트 맵을 맞추려면 어떻게해야합니까?AS3 무비 클립에 맞게 비트 맵 객체 크기 조정

감사합니다.

var bandwidth:int = 0; 
var quality:int = 100; 

var cam:Camera; 
var video:Video; 
var captureVideo:Video; 
var bitmapData:BitmapData; 
var bitmap:Bitmap;  

public function Main() { 

    mcCapture.addEventListener(MouseEvent.CLICK, mcCapture_Click); 

    cam = Camera.getCamera(); 
    cam.setQuality(bandwidth, quality); 
    cam.setMode(640,480,30,false); 

    // The display object: 
    video = new Video(); 
    video.attachCamera(cam); 
    video.width = mcVideo.width; 
    video.height = mcVideo.height; 

    mcVideo.addChild(video); 

    // Bitmap to capture full 640x480 
    bitmapData = new BitmapData(cam.width, cam.height); 
    bitmap = new Bitmap(bitmapData); 
    bitmap.width = cam.width; 
    bitmap.height = cam.height; 

    trace("Set bitmap width: " + bitmap.width + " Height: " + bitmap.height); 

} 

public function mcCapture_Click(e:Event):void { 

    bitmapData.draw(video); 


      // Code to display preview 

    trace("done"); 

} 
+0

mcVideo는 어디에 생성 되나요? – Neil

+0

스테이지에서 무비 클립으로 플래시에 생성됩니다. – Jacob

답변

0

당신은 addChild()을 사용하고 화면에 맞게 비트 맵의 ​​크기를 조절하는 데 약 0.5 또는 0.2로 MC의 scaleXscaleY 속성을 설정할 수 있습니다.

또는 사용자 지정 함수를 사용하여 비트 맵의 ​​일부만 잘라내어자를 수 있습니다.

var g:Graphics = MC.graphics; 
g.beginBitmapFill(...) 
g.drawRect(...) 
g.endFill()