提问人:Jason C 提问时间:11/13/2023 更新时间:11/13/2023 访问量:48
在 MacOS 中获取屏幕的物理尺寸
Getting physical dimensions of screen in MacOS
问:
是否可以在 macOS 上使用 Python 获取给定显示器的物理尺寸(毫米或其他)?
我正在查看 AppKit 的 NSScreen,但它只提供像素分辨率(通过),并且似乎没有报告物理大小。我不确定我还能采取什么其他方法。frame
答:
1赞
Marco Bonelli
11/13/2023
#1
您应该能够从 CGDisplayScreenSize
获取此信息,根据文档,该信息返回“指定显示器的大小(以毫米为单位)”。
Quartz Python 库似乎有一个绑定:
from Quartz import CGDisplayScreenSize, CGMainDisplayID
display_id = CGMainDisplayID()
dimensions = CGDisplayScreenSize(display_id)
print(dimensions)
评论
0赞
Jason C
11/13/2023
甜蜜的,谢谢。如果有人想知道,看起来您也可以从使用 中获取显示 ID,并将其传递给。NSScreen
display_id = screen.deviceDescription()["NSScreenNumber"]
CGDisplayScreenSize
1赞
Sash Sinha
11/13/2023
#2
您可以使用 Quartz。CGDisplayScreenSize
:
返回显示器的宽度和高度(以毫米为单位)。
func CGDisplayScreenSize(_ display: CGDirectDisplayID) -> CGSize
import Quartz
def main() -> None:
main_display_id = Quartz.CGMainDisplayID()
width_mm, height_mm = Quartz.CGDisplayScreenSize(main_display_id)
print(f'{width_mm = :.2f}, {height_mm = :.2f}')
if __name__ == '__main__':
main()
使用 M1 Macbook Air 的输出示例:
width_mm = 286.87, height_mm = 179.29
评论