图形打印问题,请大家帮忙看一看(100分)

  • 主题发起人 赤狼风云
  • 开始时间

赤狼风云

Unregistered / Unconfirmed
GUEST, unregistred user!
我要绘制一个很大的图形,大概有30几张A4纸幅面拼合的大小,我采用下面的方法来打印:
1、使用图元(TMetaFile),设置图元的尺寸为打印纸的宽度的高度除以打印系数
(打印机分辨率与屏幕分辨率比例)。
2、设置两个变量MVX,MVY,用于在绘制时偏移图形的起始位置来实现分页打印,即当打印
第一张时,(MVX,MVY)为(0,0),然后绘制整张图,这样超出图纸部份的图形便不会显示出
来,打印第二张时(MVX,MVY)为纸张的宽度和高度(负值),其它的以此类推。
3、绘制完一张图纸后,使用Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,
Printer.PageHeight), PrintWmf)(其中PrintWmf为图元),使之发送到打印机。
现在的情况是,在Window2000下打印正常,在Window98下打印时会出现异常,因为我要画一
个整个图形大小的表格,这时整张表格会被黑色充填,图形会重叠(会把后面一第的重到
当前页中)。
请问,要如何处理这种情况。
 
或者有没有其它的解决方案
 
你可以先把你的图形裁成合适的大小,再送到打印机上。
你那样画,程序速度不是受影响。

98下,可能和打印机设置有关系,有几种打印方式,象脱机或直接打印。
另外有些打印机的驱动也有问题,象HP的一些打印机。

另外你可以试试安装一个FINEPRINT,然后先打到FINEPRINT这个虚拟打印机上,看看每个页面是否
正常,如果是空的。你的程序就应该调整了。
 
顶部