用图元文件实现打印预览的问题! 500分送上(200分)

  • 主题发起人 主题发起人 CookieTian
  • 开始时间 开始时间
C

CookieTian

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用图元文件来实现打印预览,打印程序是通过printer.Canvas自己画的。
我希望能将打印中的画printer.canvas的代码直接移植到画图元文件中,再把图元文件显示出来,
于是我创建了一个与打印机设备相容的TMetaFileCanvas: MFCanvas := TMetaFileCanvas.Create(MetaFile, Printer.Handle);
这样,图元文件的分辨率和每英寸象素值等都和打印机保持一致(因考虑到打印机和屏幕的不同分辨率)。
结果,在画线或矩形或圆形的几何图形时,因分辨率和打印机一致,所以预览的尺寸大小和打印实际效果一致。
但打印字体时,但是问题出现了:在图元文件中的同字号的字体比打印机打印的字体小很多,甚至小的一半。
用TextWidth函数发现在同字号的情况下,图元文件的字的宽度的象素值比打印机小很多。
请问哪位高手用图元文件实现过打印预览,请问这种字体大小的问题如何解决?
 
分选错了,写的500,选成200了,问题解决后再开贴加分!
 
建议用第三方报表工具,试试Grid++Report, 去 http://www.rubylong.cn 下载。
 
后退
顶部