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
[51734] Re:Re:Canvas 복사하기??
쩡이 [xtremegroove] 1298 읽음    2007-12-27 10:53
답변 감사드립니다...
CopyRect()로 복사/붙여넣기 하니 잘 되네요..
예전에 답변 달아준다고 사용했었는데... 왜 그랬징??

    TRect pSize= Rect(0, 0, Image1->Width, Image1->Height);
    TImage *pImage= new TImage(this);
    pImage->Width = Image1->Width;
    pImage->Height= Image1->Height;

    Image1->Canvas->MoveTo (  0, Image1->Height- 0);
    Image1->Canvas->LineTo ( 50, Image1->Height-50);
    pImage->Canvas->CopyRect(pSize, Image1->Canvas, pSize); //복사
    Image1->Canvas->TextOut( 50, Image1->Height-50, "X50, Y50");

    Image1->Canvas->CopyRect(pSize, pImage->Canvas, pSize); //붙어넣기
    Image1->Canvas->MoveTo ( 50, Image1->Height-50);
    Image1->Canvas->LineTo (100, Image1->Height-75);
    Image1->Canvas->TextOut(100, Image1->Height-75, "X100, Y75");

    delete pImage;



smleelms 님이 쓰신 글 :
: Image1외에 Image2를 하나 더 두신 다음에 Image2에는 라인만 그리시구요.
: Image2를 Image1에 복사하신 후에, 좌표를 입력하시고,
: 다시 Image2에 라인을 그리신 후, Image1을 지우시고 Image1에 Image2를 복사하신 후에 좌표를 입력하시고...
:
: 이런식으로 하시면 될듯한데요..
: 아.. 물론 Image2는 Visible을 false로 하시구요.
:
: 좀 무식하지만 제일 심플할듯 합니다만.. ^^;
:
: 쩡이 님이 쓰신 글 :
: : 안녕하세요? Canvas에 관해 질문드립니다.
: : Canvas위에 Line을 조금씩 그려나가면서 좌표를 TextOut으로 입력합니다.
: : 매번 그리면서 좌표는 하나만 남기고자 합니다.
: :
: : 그래서 텍스트 입력전에 Canvas 내용을 복사했다가,
: : 다음 라인 그리기 전에 덮어씌우기하는 방식으로 할려고 합니다.
: : FillRect() 하면 Brush가 그려지나요? 싹 지워지면서 초기화 되어버립니다.
: :
: : 그동안 그렸던 라인들까지 복사해야 할텐데 어떻게 해야할까요?
: : 목적은 텍스트만 지우는 것인데, 이리저리 해도 잘 안되네요.
: : 도움 좀 부탁드립니다...
: :
: :
: :     TRect pRect;
: :
: :     Image1->Canvas->MoveTo(0, 0);
: :     Image1->Canvas->LineTo(50, 50);
: :
: :     pRect= TRect(0, 0, 320, 240); //Text 입력전에 복사
: :
: :     Image1->Canvas->TextOut(50, 50, "X50, Y50");
: :
: :     Image1->Canvas->FillRect(pRect); //다음 Line그리기 전, 이전 복사한 것 다시 그리기
: :
: :     Image1->Canvas->MoveTo(50, 50);
: :     Image1->Canvas->LineTo(100, 75);
: :     Image1->Canvas->TextOut(100, 75, "X100, Y75");

+ -

관련 글 리스트
51728 Canvas 복사하기?? 쩡이 1068 2007/12/26
51731     Re:Canvas 복사하기?? 슬.강슬기 1129 2007/12/27
51735         Re:Re:Canvas 복사하기?? 쩡이 1756 2007/12/27
51730     Re:Canvas 복사하기?? smleelms 1343 2007/12/26
51734         Re:Re:Canvas 복사하기?? 쩡이 1298 2007/12/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.