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
[28031] [질문]화면 캡쳐한 데이터를 조작하고 싶습니다..
neofail [neofail] 1054 읽음    2003-11-30 23:28
일단...캡쳐하는 방법은 여기에서 검색해서 찾아봤는데
HDC    hdHandle = GetDC(0);
TImage *CAPTURE = new TImage(Form1);
..
생략
  CAPTURE->Picture->Bitmap = NULL;
  BitBlt(CAPTURE->Canvas->Handle, 0, 0, Screen->Width, Screen->Height,
          hdHandle, 0, 0, SRCCOPY);
생략
이런식으로 한것도 있고
  Graphics::TCanvas *MyCanvas = new Graphics::TCanvas;
  MyCanvas->Handle = hdHandle;
  Image1->Width = r.right - r.left;
  Image1->Height = r.bottom - r.top;
  Image1->Picture->Bitmap->Width = r.right - r.left;
  Image1->Picture->Bitmap->Height = r.bottom - r.top;
  Image1->Picture->Bitmap->Canvas->CopyRect(
                   Rect(0,0,Image1->Width,Image1->Height),MyCanvas,
                   Rect(0,0,Image1->Width,Image1->Height));
  delete MyCanvas;
  ReleaseDC(NULL,dc);
이런식으로 한것도 있는데
문제는 실제 이 이미지들을 조작하려고 하는데... Canvas Property Pixels로 하면 너무 느려서
Bitmap Property의 ScanLine으로 하니까 자꾸에러가 나네요.. out of range...
여기 저기 뒤져 봤는데 Scanline이 DIBs 만 지원한다고 되어있어서 그런거 같기도 하고
결국 캡쳐할때 DIB로 해야하는거 같은데...어떻게 해야하는지 조언좀 부탁드립니다.

+ -

관련 글 리스트
28031 [질문]화면 캡쳐한 데이터를 조작하고 싶습니다.. neofail 1054 2003/11/30
34097     Re:[질문]화면 캡쳐한 데이터를 조작하고 싶습니다.. radppiri 849 2003/12/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.