在不同的分辨率下打印和看到的窗口一样大小的打印图像?

解决方案 »

  1.   

    这和打印机的DPI有关,比如是300*300dpi的,而你的分辨率是800
    *600,打出来就800/300英寸*600/300英寸大小,,,很就以前学,不知道对不对
    差不多忘光了,希望对你有帮助
      

  2.   

    对啊,目前来说我能得到打印机的DPI和屏幕的分辨率,但不知如何计算出它们之间的等比缩放,晕中。。
      

  3.   

    CPaintDC dc(this);
    //计算打印机的比率
    int ratioX=pDC->GetDeviceCaps(LOGPIXELSX)/dc.GetDeviceCaps(LOGPIXELSX);
    int ratioY=pDC->GetDeviceCaps(LOGPIXELSY)/dc.GetDeviceCaps(LOGPIXELSY);
    上面的代码,不太行,如果用户是640*480的话,那就太大啦。
      

  4.   

    注:pDC是打印机的DC,dc是屏幕的DC。
    如果用户用的是1024*768的话,那打印出来的东东就太小啦。