티스토리 뷰
#include <vcl.h>
#include <Vfw.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
//---------------------------------------------------------------------------
HWND hWndCap;
BITMAPINFO bi;
LRESULT CALLBACK capVideoStreamCallback(HWND hWnd, LPVIDEOHDR lpVHdr)
{
HBITMAP hb;
HDC hDC;
hDC = GetDC(Form1->Panel1->Handle);
hb = CreateCompatibleBitmap(hDC, SCREEN_WIDTH, SCREEN_HEIGHT);
SetDIBits(hDC, hb, 0, SCREEN_HEIGHT, lpVHdr->lpData, &bi, DIB_RGB_COLORS);
BITMAP bm;
HDC hMemDC;
POINT pt;
if(hb)
{
hMemDC = CreateCompatibleDC(hDC);
SelectObject(hMemDC, hb);
GetObject(hb, sizeof(BITMAP), (LPSTR)&bm);
BitBlt(hDC, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, hMemDC, 0, 0, SRCCOPY);
DeleteDC(hMemDC);
}
Rectangle(hDC, 100, 100, 120, 120);
ReleaseDC(NULL, hDC);
DeleteObject(hb);
return (LRESULT)TRUE;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
hWndCap = capCreateCaptureWindow("default_cam", WS_CHILD | WS_VISIBLE,
0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, Form1->Handle, 0);
capSetCallbackOnFrame(hWndCap, capVideoStreamCallback);
bool bReady = capDriverConnect(hWndCap, 0);
if(bReady)
{
bool bOK;
DWORD dwSize = capGetVideoFormatSize(hWndCap);
capGetVideoFormat(hWndCap, &bi, dwSize);
bOK = capPreviewRate(hWndCap, 67); //67ms = 15fps
bOK = capPreview(hWndCap, true);
}
}
//---------------------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
capPreview(hWndCap, false);
DestroyWindow(hWndCap);
}
'코드' 카테고리의 다른 글
| keyscan (0) | 2023.11.17 |
|---|---|
| WebDAV (FireMonkey) (0) | 2014.06.27 |
| unzip (2) | 2010.08.03 |
| FindWindow (0) | 2010.07.13 |
| SQLPLUS에서 SQL DDL Export (0) | 2009.11.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- FindWindows
- CI
- Bada
- 프로젝트
- Xcode
- java
- SCM
- Eclipse
- IHTMLElement
- IViewObject
- Swift Package Manager
- regexp
- cudnn
- GNUStep
- CppWebBrowser
- CUDA
- Atom
- jupyter
- capture
- Copilot
- ollama
- javascript
- VCL
- BCB
- Python
- hosts
- Profiler
- 한영전환
- TShellWindows
- TensorFlow
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
글 보관함