vfp9报表保存为高分辨率图片
oListener = Createobject("ReportListener")oListener.ListenerType=1
Report FORM reports\report_cght.frx Object oListener
For nPageIndex=1 To oListener.PageTotal
cOutputFile = "tmp"+Trans(nPageIndex)+".jpg"
oListener.OutputPage(nPageIndex,cOutputFile, 102)
NEXT
默认输出的是压缩格式的图片,我想得到高分辨率的图片,请各位指点,谢谢!
vfp帮助文件中有说到:
报表监听器类原始功能所提供的图像页包含了多种文件类型,但它所支持的这些图像类型格式受到某些默认设置的限制。如这个例子中的 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 15:21编辑过]