イナヅマTVログ

quasimondo先生のcom.quasimondo.bitmapdata.CameraBitmapでWebcam

| 0件のコメント

@quasimondo先生のライブラリquasimondolibsでWebcamを操作してみた。
Googlecode : quasimondolibs
http://code.google.com/p/quasimondolibs/

Quasimondo Libs – Tinker tools by Mario Klingemann

com.quasimondo.bitmapdata.CameraBitmap
EventDispatchersuperになります。
想像ですが、コードを見るとカメラ映像を直接ステージに配置するというより、カメラ映像をBitmapDataにしているから後は好きに使えるよ、なことになっているようです。
簡単に白黒にできるluminanceプロパティやluminanceToBlue プロパティがあるのは@quasimondo先生らしい仕様です。
ColorMatrixFilter, ColorTransformの設定も可能になっています。

CameraBitmap Demo
*Webcamにアクセスします。
右側に320×240のWebcam映像を表示。
左側に480×360へリサイズおよび白黒化し左右反転させた映像を表示しています。

以前のCameraBitmap CONSTRUCTORには左右反転のためのflip:Booleanが第四引数にあったのですが今回のRev.12にはありませんでした。

import com.quasimondo.bitmapdata.CameraBitmap;
 
var camw:uint = 320;
var camh:uint = 240;
var camfps:uint = 24;
var vieww:uint = 480;
var viewh:uint = 360;
var camerabd:CameraBitmap = new CameraBitmap(vieww, viewh, camfps, camw, camh);
 
camerabd.addEventListener(Event.INIT, onInitCamera);
camerabd.addEventListener(Event.RENDER, onRenderCamera);
 
var bitmap:Bitmap = new Bitmap();
bitmap.transform.matrix = new Matrix(-1,0,0,1,vieww,0);
addChild(bitmap);
 
function onInitCamera (e:Event):void {
	camerabd.removeEventListener(Event.INIT, onInitCamera);
	var vid:Video = camerabd.video;
	vid.x = vieww;
	addChild(vid);
	//cam.luminanceToBlue = true;
	camerabd.luminance = true;
}
 
function onRenderCamera(e:Event):void {
	bitmap.bitmapData = camerabd.bitmapData;
}

CameraBitmap CONSTRUCTORは第二引数までが必須です。
左右反転にはMatrixを使いました。

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください