2007年07月11日

カメラ @ Flash

Flashでカメラからの映像を表示するのは簡単なんですね。今まで試す環境がなかったので、試しにやってみたら簡単に出来ました。

ただ、カメラの映像をそのまま表示するだけだと面白くないので、左右反転してみました。1ピクセル毎に処理する必要もなく、Matrixで簡単に反転できます。

ソースコードも少ないので以下に転載しておきます。コピーペーストして試す場合は、ActionScript 3で書いているので、Flash CS3で試してください。

var vid:Video;
var cam:Camera = Camera.getCamera();
var myBitmapData:BitmapData;
var mirrorMatrix:Matrix;

if (cam == null) {
trace("camera null");
} else {
cam.addEventListener(StatusEvent.STATUS, statusHandler);
vid = new Video();
vid.attachCamera(cam);
// vid.smoothing = true;
}

function statusHandler(event:StatusEvent):void {
if (cam.muted) {
trace("camera muted");
} else {
myBitmapData = new BitmapData(vid.width, vid.height);

var myImage:Bitmap = new Bitmap(myBitmapData);
addChild(myImage);
mirrorMatrix = new Matrix(-1,0,0,1,myBitmapData.width);

stage.addEventListener(Event.ENTER_FRAME, onEnterFrames);
}
}

function onEnterFrames(event:Event):void {
myBitmapData.draw(vid,mirrorMatrix);
}

ちょっと書き方が変なところがありますが気にしないように。(笑)

MacBook ProのiSightは高解像度っぽいのですが、色々と設定を変えても高解像度になっている雰囲気がないです。(T_T)

閲覧数: 4585 / はてなブックマークusers

関連商品

amazon.co.jp・詳細ページへ

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト