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
[9602] Re:(질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요?
조로 [] 1833 읽음    2001-08-06 17:25
안녕하세요

제가 보기에는 현재 캡쳐 하시려는 윈도우의 핸들을 얻어야 할것같습니다.
FindWinodwEx 함수를 쓰셔서 현재 메인 윈도우의 하위 윈도우를 찾아 가셔야
할것으로 생각 됩니다. 아니면 VC++ 의 spy++툴을 사용하셔서
캡쳐하시려는 윈도우의 클래스 이름을 얻은 다음 FindWindow로 핸들을 찾으셔서 아래와
같이 하시면 되겠습니다.

이미지 파일로의 저장은 Image1->Picture->SaveToFile함수를 사용하시면 되겠습니다.

그럼 즐거운 하루 되십시요.

남정태 님이 쓰신 글 :
: "정보문화사 Borland C++ Builder Programming Bible" 책에 있는 내용을 써서 캡쳐는 되었는데요,,,
: 제가 그림에 표시한 부분만 캡쳐를 하고 싶습니다.
: 여기서 이 특정영역을 찾아서 캡쳐를 하면 될 것 같은데 방법을 모르겠습니다.
: 보시는 분은 방법 좀 알려주세요.
:
: 책에 있는 소스 그대롭니다. 바꾼 건 폼이랑, 클래스 이름밖에 없습니다.
:         HWND cphandle = FindWindow("TAtrialForm", NULL);
:         if (cphandle) {
:                 HDC dc = GetWindowDC(cphandle);
:                 Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
:                 ScreenCanvas->Handle = dc;
:
:                 TRect rect = ScreenCanvas->ClipRect;
:                 //rect.Right = rect.Right; - rect.Left;
:                 //rect.Bottom = rect.Bottom; - rect.Top;
:                 //rect.Top = 0;
:                 //rect.Left = 0;
:                 CaptureForm->Width = rect.Right+7;
:                 CaptureForm->Height = rect.Height()+7;
:                 CaptureForm->Image1->Picture->Bitmap->Width = rect.Right;
:                 CaptureForm->Image1->Picture->Bitmap->Height = rect.Height();
:                 CaptureForm->Image1->Picture->Bitmap->Canvas->CopyRect(rect, ScreenCanvas, ScreenCanvas->ClipRect);
:                 delete ScreenCanvas;
:                 ReleaseDC(cphandle, dc);
:         }
:
: 그리고 Image 컨트롤의 그림을 파일로 저장하려면 어떻게 하면 되나요?
:

+ -

관련 글 리스트
9599 (질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요? 남정태 956 2001/08/06
9602     Re:(질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요? 조로 1833 2001/08/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.