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
[23327] Re:[질문] PaintBox를 이용하여 특정영역을 제외하고 그리기
유영인.Chris [cuperido] 1068 읽음    2002-12-23 14:13
반대로 구현을 하시는게 훨씬 빠르지 않을까 싶네요.

우선, 검은색 배경을 모두 칠하고, 비트맵으로 원래의 이미지를 저장한 다음,

마우스 움직임에 따라서 비트맵에서 연산을 해서 원하는 부분을 잘라와서, 검은 화면 위에 뿌려주는 방식입니다.



하느리 님이 쓰신 글 :
: 안녕하세요.
:
: 현재 PaintBox를 이용하여 그림을 처리하는 툴을 만들고 있는데, 마우스의 움직임에 따라 특정영역을 제외한 부분을 검은색으로 칠하는 것을 만들고 있습니다. 왜 이렇게 하느냐 하면, PaintBox 아래쪽에 있는 그림의 특정부분만을 볼려고 하는 것입니다.
:
: 우선 소스를 올립니다. 여기서 PB_Draw가 PaintBox입니다. 폼은 화면전체크기사이즈입니다.
:
: void __fastcall TForm1::PB_DrawMouseMove(TObject *Sender,
:       TShiftState Shift, int X, int Y)
: {
:     Form1->DoubleBuffered = true;
:     Draw_Blank (X, Y);
: }
: void __fastcall TForm1::Draw_Blank(int x, int y)
: {
:     TRect   r;
:     PB_Draw->Refresh (); // 현재 그려져 있는 부분을 지우기
:
:     PB_Draw->Canvas->Pen->Width   = 5;
:     PB_Draw->Canvas->Pen->Color   = clBlack;
:     PB_Draw->Canvas->Pen->Mode    = pmCopy;
:     PB_Draw->Canvas->Pen->Style   = psSolid;
:     PB_Draw->Canvas->Brush->Color = clBlack;
:     PB_Draw->Canvas->Brush->Style = bsSolid;
:
:     r.left      = 0;
:     r.top       = 0;
:     r.right     = Screen->Width;
:     r.bottom    = y;
:     PB_Draw->Canvas->Rectangle (r);
:
:     r.left      = 0;
:     r.top       = y;
:     r.right     = x;
:     r.bottom    = y+100;
:     PB_Draw->Canvas->Rectangle (r);
:
:     r.left      = x+100;
:     r.top       = y;
:     r.right     = Screen->Width;
:     r.bottom    = y+100;
:     PB_Draw->Canvas->Rectangle (r);
:
:     r.left      = 0;
:     r.top       = y+100;
:     r.right     = Screen->Width;
:     r.bottom    = Screen->Height;
:     PB_Draw->Canvas->Rectangle (r);
: }
:
: 여기서 문제는 PB_Draw->Refresh ()부분에서 화면 번쩍임 현상이 발생한다는 것입니다. 이를 해결할 수 있는 방법이 없을까요 ?
:

+ -

관련 글 리스트
23326 [질문] PaintBox를 이용하여 특정영역을 제외하고 그리기 하느리 867 2002/12/23
23327     Re:[질문] PaintBox를 이용하여 특정영역을 제외하고 그리기 유영인.Chris 1068 2002/12/23
23328         Re:Re:[질문] PaintBox를 이용하여 특정영역을 제외하고 그리기 하느리 1767 2002/12/23
23329             Re:Re:Re:[질문] PaintBox를 이용하여 특정영역을 제외하고 그리기 유영인.Chris 1705 2002/12/23
23332                 Re:Re:Re:Re:[질문] PaintBox를 이용하여 특정영역을 제외하고 그리기 하느리 1067 2002/12/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.