虽然没有解决问题,可是还是要谢谢卷起千堆雪tyn和sw,我最后写的打印预览假定
水平方向和垂直方向的PixelsPerInch均为Screen.PixelsPerInch.从最后显示的效果来
看,虽然无法做到与实际纸张一模一样,但效果已经可以让人接受了。
但是同时,又出现了一个我无法解决的新问题,因此再次向两位高手求救。问题很简单,
我使用了CopyRect来实现两个MetafileCanvas的Copy操作,但是该操作在执行时既不报错,
也不会将所需要的内容Copy到另一个Metafile中,请问各位高手有何解决办法?
该问题的分请到http://www.delphibbs.com/delphibbs/dispq.asp?lid=965044
去拿。谢谢!
var
Metafile1, Metafile2: TMetafile;
MetafileCanvas1, Metafile2Canvas: TMetafileCanvas;
begin
Metafile1 := TMetafile.Create;
Metafile1.Width :=100;
Metafile1.Height := 100;
MetafileCanvas1 := TMetafileCanvas.Create(Metafile1, 0);
MetafileCanvas1.Brush.Color := clWhite;
MetafileCanvas1.FillRect(MetafileCanvas1.ClipRect);
MetafileCanvas1.TextOut(0,0,'daif;ajdkfai');
Metafile2 := TMetafile.Create;
Metafile2.Width := 100;
Metafile2.Height := 100;
Metafile2Canvas := TMetafileCanvas.Create(Metafile2, 0);
Metafile2Canvas.CopyRect(Metafile2Canvas.ClipRect, MetafileCanvas1, MetafileCanvas1.ClipRect);
Metafile2Canvas.Free;
MetafileCanvas1.Free;
Image1.Canvas.StretchDraw(Image1.Canvas.ClipRect, Metafile2);
end;