User manual - イメージャライブラリマニュアルver.1.06(2012年3月29日)

Table Of Contents
233
5.5 イメージキャプチャ・ストリーミング
この例では、プログラムが起動されるとすぐにストリーミング表示が開始されます。ストリーミング表示中にト
リガキーが押されると QVGA サイズ(320x240 pixels)の画像をキャプチャし、ビットマップファイルとして保
存します。
DWORD WINAPI CaptureThread( HWND);
HANDLE g_hCaptureEvent[ 2];
HWND g_hEditMessage;
HPALETTE g_hPalette;
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HANDLE hCaptureThread;
HDC hdc;
PAINTSTRUCT ps;
DWORD dwID;
switch ( message)
{
case WM_KEYDOWN:
switch( LOWORD( wParam))
{
case VK_F21: // Trigger R key
case VK_F24: // Trigger L key
SetEvent( g_hCaptureEvent[ 0]);
break;
case VK_DELETE: // CLR key
PostMessage( hWnd, WM_DESTROY, 0, 0);
break;
}
break;
case WM_CREATE:
...
g_hCaptureEvent[ 0] = CreateEvent( NULL, FALSE, FALSE, TEXT("Capture"));
g_hCaptureEvent[ 1] = CreateEvent( NULL, FALSE, FALSE, TEXT("Quit"));
IMGInit();
IMGConnect();
hCaptureThread = CreateThread( NULL, 0,
( LPTHREAD_START_ROUTINE)CaptureThread, ( LPVOID)hWnd, 0, &dwID);
break;
case WM_DESTROY:
SetEvent( g_hCaptureEvent[ 1]);
IMGDisconnect();
IMGDeinit();
WaitForSingleObject( hCaptureThread, INFINITE);
CloseHandle( hCaptureThread);
CloseHandle( g_hCaptureEvent[ 1]);
CloseHandle( g_hCaptureEvent[ 0]);
PostQuitMessage( 0);