@quasimondo先生のライブラリquasimondolibsでWebcamを操作してみた。
Googlecode : quasimondolibs
http://code.google.com/p/quasimondolibs/
Quasimondo Libs – Tinker tools by Mario Klingemann
com.quasimondo.bitmapdata.CameraBitmap
EventDispatcher
がsuper
になります。
想像ですが、コードを見るとカメラ映像を直接ステージに配置するというより、カメラ映像を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
を使いました。