C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6087] Re:[질문, 긴급] 화상및 음성 전송을 위한 Win32 Api에 관한 질문. 여기서 궁금한게 있어서요......-_-
방태윤 [] 3119 읽음    2001-03-14 13:41
음~^^  질문을 잘 이해를 못하겠습니다.
일단 아래는 카메라에서 영상을 화면에 출력하는 겁니다.
아래는 320x240 hicolor로 지정되어있는데(define부분) 캡쳐보드가
지원하는 포멧이으로 바꾸어야 작동하겠지요.
이걸 말씀하시는건가 ?...

HWND hWndC;
BITMAPINFO bmpi;
CAPDRIVERCAPS dcaps;

#define BITCOUNT 16
#define USEW 320
#define USEH 240


LRESULT FAR PASCAL FrameCallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr)
{
  SetDIBitsToDevice(Form1->Canvas->Handle,
      0,0,bmpi.bmiHeader.biWidth,bmpi.bmiHeader.biHeight,
      0,0,0,bmpi.bmiHeader.biHeight,
      lpVHdr->lpData, &bmpi, DIB_RGB_COLORS);
  return true;
}

void start()
{
  hWndC =  capCreateCaptureWindow("...",WS_CHILD|WS_VISIBLE,2,2,
    1,1,Form1->Handle,1);
  bool test=capDriverConnect(hWndC,0);
  if(!test){
    ShowMessage("영상 입력장치를 사용할수 없습니다.");
  }

  int s=capGetVideoFormatSize(hWndC);
  capGetVideoFormat(hWndC,&bmpi,s);
  bmpi.bmiHeader.biWidth=USEW;
  bmpi.bmiHeader.biHeight=USEH;
  bmpi.bmiHeader.biBitCount=BITCOUNT;
  bmpi.bmiHeader.biSizeImage=
    bmpi.bmiHeader.biWidth*bmpi.bmiHeader.biHeight*bmpi.bmiHeader.biBitCount/8;

  capSetVideoFormat(hWndC,&bmpi,s);

  capSetCallbackOnFrame(hWndC,FrameCallbackProc);
  capOverlay(hWndC,false);
  capPreview(hWndC,false);

  capPreviewRate(hWndC,10); //초당 10 frame

}
.끝.


thedragon 님이 쓰신 글 :
: 올리신 소스를 보고 제가 이렇게 만들었는데요........
: 소스 보시면 짐작은 하시겠지만.
:
:     SetDIBitsToDevice( TmSendVideoBmp->Canvas->Handle, 0, 0, xSize, ySize, 0, 0, 0, ySize, lpVHdr->lpData, &bmpi, DIB_RGB_COLORS );
:
:     TmSendJpg->Assign( TmSendVideoBmp );
:     TmSendJpg->SaveToStream( TmSendVideoMStream );
:
: //=========================================================================================================
:     TmSendVideoMStream->Position = 0;
:     Form2->PaintBox1->Canvas->Draw(0, 0, TmSendJpg);
:
: 근데 아래에 Form2->PaintBox 부분에서 이미지가 안뿌려져요..,.ㅠ,.ㅠ
: 저만 그런건지.....하여간.......안되네요.....
: 요거 하기 전에 윗부분에서 캡쳐하는 부분에 따로 파라메터를 줘야 하는게 있는데 빠진건지.....
: 아님 첫번째 소스부분에 문제가있는건지.....모르겠어요.........
: 좀 부탁드릴께요........
: 알려주세요..... 


+ -

관련 글 리스트
6076 [질문, 긴급] 화상및 음성 전송을 위한 Win32 Api에 관한 질문. 여기서 궁금한게 있어서요......-_- thedragon 2370 2001/03/14
6087     Re:[질문, 긴급] 화상및 음성 전송을 위한 Win32 Api에 관한 질문. 여기서 궁금한게 있어서요......-_- 방태윤 3119 2001/03/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.