如何使用本机API在MacOS上获取设备像素比率?

如何使用本机API在MacOS上获取设备像素比率?,macos,Macos,我需要获得设备像素比,才能将其传递到一个库中。这有什么API吗?就像Qt中的这个我不知道这是不是你想要的东西 let ratio = UIScreen.main.bounds.height / UIScreen.main.bounds.width 您通常应该使用NSView的-convert{Point,Rect,Size}{To,From}{Backing,Layer}:方法,而不是查询比例因子 如果必须,可以使用NSWindow和NSScreen的-backingScaleFactor方法

我需要获得设备像素比,才能将其传递到一个库中。这有什么API吗?就像Qt中的这个我不知道这是不是你想要的东西

let ratio = UIScreen.main.bounds.height / UIScreen.main.bounds.width

您通常应该使用
NSView
-convert{Point,Rect,Size}{To,From}{Backing,Layer}:
方法,而不是查询比例因子

如果必须,可以使用
NSWindow
NSScreen
-backingScaleFactor
方法


但是,请注意,由于各种原因,“背衬”像素不一定与显示器上的物理像素相对应。

我想获得像Qt库中那样的devicePixelRatio,哪个是物理分辨率/虚拟分辨率?这可能会对您有所帮助。问题明确提到macOS。的哪个-backingScaleFactor方法最好在NSWindow和NSScreen之外。@SangramS。好吧,以最适合你的为准。通常,您会使用
NSWindow
方法,除非您有特定的理由使用
NSScreen
方法。当然,最好使用我在回答的第一段中提到的方法。在我的例子中,有多个监视器(显示器)的情况。NSScreen方法给出了错误的输出\