我想居中打印一位图, 在一打印机上打印正确, 但是在另一台打印机上却有偏差, 代码如下:
   
   ‘ Widht, Height 为打印的位图的大小
   X = (Printer.Width - Width) / 2
    Y = (Printer.Height - Height) / 2
    
    '位图送打印机
    StretchBlt Printer.hdc, X \ Printer.TwipsPerPixelX, Y \ Printer.TwipsPerPixelY, 
               Width \ Printer.TwipsPerPixelX, Height \ Printer.TwipsPerPixelY,tempDC,    0, 0, Width \ Screen.TwipsPerPixelX, Height \ Screen.TwipsPerPixelY, &HCC0020
请问, 发生上面两种不同情形的可能因素有哪些啊?  谢谢指教!!!!

解决方案 »

  1.   

    Printer.Width 
    Printer.Height 你没有设置上面两个属性的值
      

  2.   

    Printer.Width 和 Printer.Height  两个属性值不是由系统提供的吗?还有, 我看过, 两台打印机上的 Printer.Width 和 Printer.Height  值是一样, 但是同样大小的位图打印出来的实际大小也不一样!
      

  3.   

    我用过Printer.PaintPicture(....)函数进行打印
    通过设置上面两个属性值来定置纸张尺寸
    在函数里定置打印图形的大小
      

  4.   

    这样子啊, 那你怎么知道当前打印机上可打印多大的纸啊?还有, 像A4这样的纸它对应的 printer.width 和 printer.height 值是多少呢?
      

  5.   

    1、Printer.PaintPicture 打印具有插值功能,不会有问题;
    2、StretchBlt 按象素打印,大小与该打印机的分辨率有关Printer.TwipsPerPixelX、Y