Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[13939] Canvas에 선,글자를 그린후 같은 Canvas 다른 영역에 그대로 복사를 할려면...
박태성 [] 1359 읽음    2011-11-25 15:33
영수증 출력을 위한 화면미리보기 폼을 구현하고 있습니다.
A4지를 가로방향으로 하고 반으로 나누어 같은 내용을 2번 그리게 하고 싶습니다.(보관용, 고객용 이렇게)
지금 구현해 놓은거는 Canvas의 좌우측영역의 값을 미리 구해 LeftRect, RightRect 이렇게 변수에 담아두고
함수를 하나 구현해서
DrawRect(LeftRect);
DrawRect(RightRect);
이렇게 하고 있습니다.

procedure DrawRect(R: TRect)
var
R : TRect;
begin
with Printer do
begin
   Pen.Width := 1;
   Canvas.MoveTo(R.Left, R.Top);
   Canvas.LineTo(R.Right, R.Top);

  TextRect(R, R.Left, R.Top, '사업자등록번호 :');
  ...
  ...
end;
...
...
end;

위코드는 그리는 작업을 2번하는거라 한번은 이미 그렸으니까 그걸 그대로 copy하면 좋을것 같은데
방법이 없나해서 질문을 드립니다.

Canvas의 매소드중 CapyRect라는게 있어서 테스트해 봤는데 안되더군요.
이건 bitmap의 일정영역을 그대로 카피하는것 같던데 위처럼 Canvas에 선과 글을 그린후
이럴 그대로 다른 영역으로 그대로 카피하는 법은 없습니까?(2개의 TRect는 하나의 Canvas에서 서로
다른 위치일뿐입니다)

즉 Canvas.CopyRect(RightRect, Canvas, LeftRect) 이런식의 사용이 가능하면 좋을것 같은데
무슨 수가 없나요?

+ -

관련 글 리스트
13939 Canvas에 선,글자를 그린후 같은 Canvas 다른 영역에 그대로 복사를 할려면... 박태성 1359 2011/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.