我上面的方法就可以。假设你画图的方法为 Draw(ACanvas:TCanvas, Mul :Double); Printer.BeginDoc; Draw(Printer.Canvas,比例尺); Printer.EndDoc;
我是用: for i:=r.Left to r.Right do drawimage.Canvas.Pixels[i,r.top+round(rkuan/2)]:=clblack; for i:=r.Top to r.Bottom do drawimage.Canvas.Pixels[r.Left+round(rchang/2),i]:=clblack; drawimage.Canvas.TextOut(r.Left+round(rchang/2)+5, r.top+round(rkuan/2+5*k),'O');
我是想直接把我在TImage上画图的做法搬到Printer上。
我想主要的语句是基本不变的。
只是改改比例和初始化就可以了。
但是,究竟具体如何做呢???
Printer.BeginDoc;
Draw(Printer.Canvas,比例尺);
Printer.EndDoc;
for i:=r.Left to r.Right do
drawimage.Canvas.Pixels[i,r.top+round(rkuan/2)]:=clblack;
for i:=r.Top to r.Bottom do
drawimage.Canvas.Pixels[r.Left+round(rchang/2),i]:=clblack;
drawimage.Canvas.TextOut(r.Left+round(rchang/2)+5,
r.top+round(rkuan/2+5*k),'O');