python获取当前pc的分辨率(windows)

获取系统缩放后的分辨率方法一

import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
w = str(win32api.GetSystemMetrics(0))
h = str(win32api.GetSystemMetrics(1))
print(w, h)

获取系统缩放后的分辨率方法二

import ctypes
w = ctypes.windll.user32.GetSystemMetrics(0)
h = ctypes.windll.user32.GetSystemMetrics(1)
print(w, h)

获取系统缩放后的分辨率方法三

import win32api,win32con
w = win32api.GetSystemMetrics(win32con.SM_CXSCREEN) #获得屏幕分辨率X轴
h = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) #获得屏幕分辨率Y轴
print(w, h)

获取pc真实的分辨率

import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
hdc = win32gui.GetDC(0)
w = win32print.GetDeviceCaps(hdc, win32con.DESKTOPHORZRES)
h = win32print.GetDeviceCaps(hdc, win32con.DESKTOPVERTRES)
print(w, h)

结果如图

代码结果
电脑设置项截图

# 获取系统缩放后的分辨率方法一
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
w = str(win32api.GetSystemMetrics(0))
h = str(win32api.GetSystemMetrics(1))
print(w, h)
# 获取系统缩放后的分辨率方法二
import ctypes
w = ctypes.windll.user32.GetSystemMetrics(0)
h = ctypes.windll.user32.GetSystemMetrics(1)
print(w, h)

# 获取系统缩放后的分辨率方法三
import win32api,win32con
w = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)   #获得屏幕分辨率X轴
h = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)   #获得屏幕分辨率Y轴
print(w, h)

# 获取pc真实的分辨率
import win32api, win32con, win32gui, win32com, win32print
from win32.lib import win32con
hdc = win32gui.GetDC(0)
w = win32print.GetDeviceCaps(hdc, win32con.DESKTOPHORZRES)
h = win32print.GetDeviceCaps(hdc, win32con.DESKTOPVERTRES)
print(w, h)

说明

当使用自动化进行点击动作的时候实际点击位置(通过inspect.exe工具或者python库uiautomation之类的方法获取到的控件坐标地址指的就是pc真实的分辨率下的坐标而不是缩放后的坐标)
比如,我的电脑缩放后的分辨率是1536 864, 我的电脑真实的分辨率是1920 1080,我需要点击桌面做左下角的话需要点击的是x=1920 y=1080

Open3D是一个开源库,主要用于3D数据处理,包括建模、可视化、渲染和机器学习。但是Open3D库本身并不直接提供获取屏幕分辨率的功能,它的主要作用是处理三维数据和渲染三维场景。如果你想要在使用Open3D的过程中获取当前屏幕的分辨率,并将其用于调整渲染视图的大小,你可能需要使用其他库,比如Python的Tkinter库、PyQt或Pygame等。 下面是一个使用Python和Tkinter库获取屏幕分辨率并创建一个窗口的基本示例: ```python import tkinter as tk def get_screen_resolution(): # 创建一个临时的Tk窗口 window = tk.Tk() # 将窗口隐藏,以避免显示窗口 window.withdraw() # 获取屏幕宽度和高度 screen_width = window.winfo_screenwidth() screen_height = window.winfo_screenheight() # 销毁窗口 window.destroy() return screen_width, screen_height # 使用函数获取屏幕分辨率 screen_width, screen_height = get_screen_resolution() print(f"屏幕宽度: {screen_width}, 屏幕高度: {screen_height}") ``` 如果你想根据屏幕分辨率放大Open3D中的可视化窗口,你可能需要在Open3D中创建一个窗口,并使用获取到的屏幕分辨率信息来设置窗口大小。下面是一个使用Open3D创建可视化窗口,并根据屏幕分辨率调整窗口大小的示例: ```python import open3d as o3d # 获取屏幕分辨率 screen_width, screen_height = get_screen_resolution() # 创建一个点云对象 pcd = o3d.geometry.PointCloud() # ... 这里可以添加点云数据 ... # 创建一个可视化窗口并根据屏幕分辨率调整窗口大小 vis = o3d.visualization.Visualizer() vis.create_window(width=screen_width, height=screen_height, window_name='Open3D Window') vis.add_geometry(pcd) vis.run() vis.destroy_window() ``` 请根据你的具体需求调整上述代码中的参数和逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值