はじめに
Advanced/W-ZERO3 [es]にはカメラが内蔵されています。本稿ではDirectShowを使って、カメラのプレビュー画像を取り込み、動的に画面に表示する方法を紹介します。
これまでの記事
対象読者
以下のアプリケーションを開発したことがある人。
- C++言語を使ったアプリケーション
- Windows Mobile用アプリケーション
- COMを使ったアプリケーション
作成/実行環境
- Visual Studio 2008 Professional Edition 以上
- Windows Mobile 6 SDK
- Windows Mobile Device Emulator日本語イメージ
- Advanced/W-ZERO3 [es](WS011SH)
DirectShowを使うための準備
- プロジェクトを「WM_Camera」として新規作成します。
- DirectShowを使うために「strmiids.lib」をリンクし、「dshow.h」をインクルードします。
stdafx.h
// 末尾に追加する #include <dshow.h> #include <comutil.h> #pragma comment(lib, "Strmiids.lib")
- DirectShowはCOMベースで実装されていますので、COMの初期化、解放を行います。
WM_Camera.cpp
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { MSG msg; // COM の使用を開始 CoInitializeEx(NULL, COINIT_MULTITHREADED); // (略) // COM を解放 CoUninitialize(); return (int) msg.wParam; }