0

次のコードを使用して、Web カメラから画像を取得しています。私が直面している問題は、「ビットマップ」を mcVideo に合わせる必要があることです。ビットマップは mcVideo よりも大きいため、mcVideo.addChild(bitmap) だけでは実行できません。プレビュー目的でビットマップを mcVideo に合わせるにはどうすればよいですか?

ありがとう!

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");

}
4

1 に答える 1

0

MC のおよびプロパティを使用して約 0.5 または 0.2 にaddChild()設定すると、ビットマップが画面に収まるようにスケーリングされます。scaleXscaleY

または、カスタム関数を使用してビットマップの一部のみを描画し、トリミングすることもできます。

var g:Graphics = MC.graphics;
g.beginBitmapFill(...)
g.drawRect(...)
g.endFill()
于 2012-04-28T08:32:50.730 に答える