好的,这里有一个关于窗口大小的真正基本问题......
如果我在IB中创建一个NSWindow,将其大小设置为216 x 144点(正好是3英寸乘2英寸),然后打印窗口,它会精确测量我在IB中设置的内容。但是,屏幕显示尺寸约为156 x 105点。
是什么导致这种情况,有没有办法强制窗口以屏幕上的实际尺寸显示?我最终想要绘制到这个(半透明)窗口,然后将其用作全尺寸覆盖图,以便与已知大小的单独加载的扫描图像进行比较。
答案 0 :(得分:1)
我要猜测你操作系统中的DPI(又名PPI)设置是错误的,所以你的显示器本身是错误校准的,导致屏幕上绘制的东西小于它真的是。如果您的显示器是“高分辨率”,这可能是原因。这就是为什么“一切看起来都很小”,或者你可以在高分辨率显示器上“获得更多的屏幕空间”。这是因为事情是错误校准的。将操作系统的DPI设置为与屏幕的实际DPI相匹配后,绘制到屏幕上的内容(以与分辨率无关的方式)将以正确的大小显示。
您的打印机正在使用正确的DPI设置,因此它会以正确的尺寸打印。
为了确定您的实际DPI,您应该能够在网上找到显示DPI计算器。您还应该能够找到有关如何更改操作系统的操作系统说明。至少在Windows中,只有vista和更新版能够很好地处理不同的DPI设置。