在我的form里面有个TImage控件,装载了一个BMP图,大概有20兆,要直接输出到打印机上  试过很多方法包括:
1. DIB输出2. 打印机CANVAS绘图   (copyrect 、StretchDraw 等)打印效果均不理想, 主要是平滑过渡的地方产生了梯田式的渐层,图像很难看。
但是, 用windows自带的 “windows图片和传真查看器”来打印就很完美,特别是它还有一个打印向导。

解决方案 »

  1.   

    的确,打印机的分辨率比图片分辨率高许多! printer.canvas 可以看出来的;
      

  2.   

    windows图片和传真查看器和photoshop一样不仅仅是加载了图片,而且进行了优化,这点delphi默认的image是无法实现的,我以前也做过图片优化的尝试但是用image最后是没能实现,LZ可以参考下第三方控件吧,反正当年我是这么做的
      

  3.   

    将你的图片按原比例放大到printer.canvas.cliprect大小,