Q&A

  • Canvas의 그림을 출력하는 방법 (도와주세요!!!)
안녕하세요? 델파이를 시작한지 3일된 사람입니다.

도저히 저의 실력으로는 해결을 할 수가 없어서 도움을 청합니다.

부디 답변을 해 주시길...



다름이 아니라, 현재 폼에 그려진 내용을 출력을 하고자 합니다.

폼의 Canvas에 라인을 하나 그리고 그 그림을 프린터로 출력을 하고자 하는데요.

아래 소스에서 무엇이 잘못되었나요?

만약, 방법 자체가 완전히 잘못되었다면 현재 폼이나 기타 다른 컴포넌트의 Canvas에 그려진 내용을 출력하는 방법이 어떤 것이 있을까요??? 도와 주시면 감사하겠습니다.



[ 아래 소스는 버튼 이벤트를 받아서 Canvas의 내용을 출력한다고 짠(???) 것입니다 ]



procedure TForm1.Button1Click(Sender: TObject);

var

destRect, sourceRect : TRect;

begin

Printer.PrinterIndex := 1;



Printer.BeginDoc;

with Printer.Canvas do

begin

destRect := Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, Form1.Top + Form1.Height );

sourceRect := Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, Form1.Top + Form1.Height );

Canvas.MoveTo(100, 200);

Canvas.LineTo(300, 400);

Printer.Canvas.CopyRect( destRect, Form1.Canvas, sourceRect );

end;

Printer.EndDoc;



end;



0  COMMENTS