以下是引用吹水佬在2019-8-1 15:37:32的发言:
不是搞定了吗
嗨,预览打印搞定了!
但是,输出图像的问题还是没有解决呀!
它默认的几个格式的输出图片都是经过压缩的,像素太低!
报表监听器类原始功能所提供的图像页包含了多种文件类型,但它所支持的这些图像类型格式受到某些默认设置的限制。如这个例子中的 TIFF,报表监听器为了性能上的原因,提供的是压缩格式的 TIFF 文件。但是,你可以摆脱原始实现的设置所带来的限制。你可以给报表监听器提供一个 GDI+ 图形句柄,并在 OutputPage 方法中要求它将页绘制到这个设备中。然后你可以将这个结果保存为一个图像文件,这时你就可以使用非默认的规格。Visual FoxPro 提供了一个类来帮助你完成这种以及其它与 GDI+ 相关的任务。更多的信息,请参见 GDI+ API 包装基本类。
思路 ……
oReportListener=CREATEOBJECT("reportlistener")
oReportListener.listenertype=3
REPORT FORM reports\report_cght.frx OBJECT oReportListener
_Bitmap = NEWOBJECT("gpBitmap", "_GDIplus.vcx")
_Graphics = NEWOBJECT("gpGraphics", "_GDIplus.vcx")
_Graphics.CreateFromImage(_Bitmap)
oreportlistener.outputpage(1,‘你可以给报表监听器提供一个 GDI+图形句柄,并在 OutputPage 方法中要求它将页绘制到这个设备中’,1)
_Bitmap.SaveToFile("Test.bmp", "image/png or bmp","quality=100")
或者其他解决方法,总之,我就是不想用虚拟打印机,这样每台机器都要安装虚拟打印机驱动程序,虽然可以自动安装!
[此贴子已经被作者于2019-8-1 16:54编辑过]