2013-07-07 57 views
0

我使用VB.NET(winforms)在图片框中打印图像。 图片大小为525x300。调整图片框中的图片大小,以便在任何打印机上始终打印3.5“x2”图片?

我可以通过调用ScaleTransform()来轻松调整大小。

但是我应该调整它的大小呢?

我需要在任何打印机上打印的最终图像为3.5“x 2”。 (一个名片大小。)

我假设我需要用户打印机的分辨率(我假设每个人的打印机都不同)。 我该如何得到它?

什么是ScaleTransform()调用所需的值?

谢谢。

更新:我得到了打印机分辨率(300x300),但是如何使用它来调整图像大小,以便在任何打印机上始终打印3.5“x 2.0”?

回答

0

如果您只想获得系统中安装的打印机支持的分辨率,则可以使用PrinterSettings类,该类提供PrinterResolutions属性。返回由打印机支持的所有分辨率的集合,由PrinterResolution对象表示。其中的每个PrinterResolution对象都具有XY属性,您可以使用这些属性来获取每英寸点数(dpi)的实际水平和垂直分辨率。

但因为你实际上印刷,你应该已经有访问到具有PrinterSettings属性PrintDocument对象。如果是这样,那么您应该使用这个来获取所需的信息。