急求如何打印paintbox上的图形
现在在form上建立一个paintbox,想把这个paintbox上的图形打印出来,请问高手如何做,最好能给点详细的代码!
[解决办法]
呵呵,知道你就75。代码来了
(ps:在form上放一个image控件,做为中转。当然你可以动态创建一个bitmap来接收一下paintbox上的内容,不过我这里直接用来image并且大小和paintbox一样,用来暂存一下paintbox的内容.)
很简单,Form上就3个控件,一个paintbox1,一个image1大小同paintbox1,和一个button1。
uses printers; //需要引用printers这个单元。写在interface下。var printer1:tprinter; printdialog:tprintdialog; procedure TForm1.Button1Click(Sender: TObject);var printrect:TRect;begin Image1.Canvas.CopyRect(Image1.ClientRect,PaintBox1.canvas,PaintBox1.ClientRect); printrect:=Rect(50,50,3000,1200); //这个可以根据实际显示情况进行调整。 printer1:=TPrinter.Create; printdialog:=tprintdialog.Create(self); if printdialog.Execute then begin printer1.BeginDoc; printer1.Canvas.StretchDraw(printrect,Image1.Picture.Graphic); printer1.EndDoc; end;end;