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
[9599] (질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요?
남정태 [morebl] 955 읽음    2001-08-06 16:40
"정보문화사 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 (질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요? 남정태 955 2001/08/06
9602     Re:(질문) 특정 영역을 비트맵으로 캡쳐하고 싶은데요. 어떻게 하면 될까요? 조로 1833 2001/08/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.