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
[12065] Re:Image1->Canvas->CopyRect()시 오류가 발생합니다. ㅠ_ㅠ
이정훈 [] 999 읽음    2001-10-24 20:09
프로그램을 실행시키실때 Window의 작업관리자를 띄어 놓고
GDI객체가 얼마만큼 늘어 나는지 살펴보십시요.
GDI객체가 10,000을 넘어갈때 프로그램은 에러를 발생시키게 됩니다.

만약 GDI객체가 10,000을 넘어간다면 다음 두 개의 함수로 GDI객체 와
캐시된 이미지를 삭제하는 식으로 프로그램을 짜보세요.
Bitmap->Dormant();
Bitmap->FreeImage();

Blankas 님이 쓰신 글 :
: 안녕하세요?
: 이미지 제어를 잘 못하다보니 오류가 자꾸 발생해서요.. 이렇게 글을 적어올립니다. ㅠ_ㅠ
: 상황은 이렇습니다;;
:
: 먼저 Form1에 TImage 타입의 Image1을 만들고, 크기를 Width=500, Height=3000으로 선언했습니다.
: 여기까지는 콤포넌트를 직접 끌어놓아 만들었구요,
: 실제 코딩은 Form1의 OnActivate() 이벤트에 다음과 같이 했습니다.
:
:
: //---------------------------------------------------------------------------
: void __fastcall TForm1::FormActivate(TObject *Sender)
: {
:     Graphics::TBitmap *TempBuffer;
:    
:     TempBuffer=new Graphics::TBitmap;
:     TempBuffer->LoadFromFile("c:\\dot.bmp");
:     Image1->Canvas->CopyRect(Rect(100, 100, 101, 2500), TempBuffer->Canvas, TempBuffer->Canvas->ClipRect);
:
:     if(TempBuffer!=NULL)
:     {
:         delete TempBuffer;
:         TempBuffer=NULL;
:     }
: }
: //---------------------------------------------------------------------------
:
:
: dot.bmp라는 이미지는 1X1 크기의 파란색 점입니다. 이 점을 길이 2500짜리 라인으로 그으려는 것입니다.
: 위의 내용을 실행하면 치명적인 오류가 발생하면서 프로그램이 정지합니다.
: 제가 윈도우 프로그래밍에 굉장히 취약하다보니 이유를 모르겠네요;;;
: 헬프만 보고 해본거라 TBitmap이나 Canvas의 사용에 문제가 있는 것인지도 모르겠습니다;;;
:
:
: 그럼 고수분들의 도움을 기다리겠습니다. ㅠ_ㅠ
:
:
:
:
: 추.
: 상황을 보면 라인의 길이가 2000을 넘어갈 때 오류가 나는것 같습니다.
: 아마도 메모리 경계를 넘어가는게 아닐까 하고 있습니다요;;;;
:

+ -

관련 글 리스트
11975 Image1->Canvas->CopyRect()시 오류가 발생합니다. ㅠ_ㅠ Blankas 846 2001/10/22
12065     Re:Image1->Canvas->CopyRect()시 오류가 발생합니다. ㅠ_ㅠ 이정훈 999 2001/10/24
11980     되던데요~~ ㅡㅡ; 박재욱.사탕 731 2001/10/22
11995         감사합니다. Blankas 758 2001/10/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.