获取显示器支持的所有分辨率
时间: 2024-11-09 12:30:01 浏览: 27
获取计算机显示器支持的所有分辨率通常涉及到操作系统的特定API。在Windows系统中,你可以使用`win32api`或`win32con`模块,而在Linux环境下,则可以使用`pyglet`、`pygame`等图形库,或者直接通过系统的显示设备接口(如Xorg在Unix-like系统)来获取信息。
以下是一个简单的例子,在Windows中利用`ctypes`库来获取屏幕分辨率:
```python
import ctypes
from win32api import GetSystemMetrics
def get_display_resolutions():
width = GetSystemMetrics(0) # 屏幕宽度
height = GetSystemMetrics(1) # 屏幕高度
monitor_count = GetSystemMetrics(8) # 显示器数
resolutions = []
for i in range(1, monitor_count + 1):
monitor_info = ctypes.wintypes.SMALL_RECT()
monitor_info.left, monitor_info.top, monitor_info.right, monitor_info.bottom = GetMonitorInfoW(ctypes.c_wchar_p(f"{i}:"), ctypes.byref(monitor_info))
if monitor_info.right - monitor_info.left > 0:
# 计算每个显示器的实际分辨率
x_resolution = monitor_info.right - monitor_info.left
y_resolution = monitor_info.bottom - monitor_info.top
resolutions.append((x_resolution, y_resolution))
return resolutions
resolutions = get_display_resolutions()
for resolution in resolutions:
print("Resolution:", resolution)
阅读全文