我在分辨率为800*600下做了一个打印报表的软件,但是我换成一个1024*780的电脑打印的时候就不能按照我原来纸张的大小打印了,请问怎么才能解决啊!

解决方案 »

  1.   

    你需要调整屏幕分辨率和打印机分辨率的对应关系。分辨率都可以通过Canvas.Font.PixelsPerInch获得,这是一个简单的方法,通常字体的分辨率和设备描述符表的分辨率是一致的。打印机的实际分辨率,需要在BeginDC函数调用以后才能真正获得,否则用上面方法获得都是当前屏幕分辨率。这样你在输出的时候就需要调整比例了,如果你在内部的Bitmap上面绘制的,你就要获得内部Bitmap的分辨率和当前的打印机设备描述符表的分辨率,然后做一个尺寸的转换。