Python设置显示屏分辨率
工具安装
- 主要调用win32库实现分辨率获取和读写,需要安装pywin32
- 示例中是从execl列表中读取需要设置的分辨率,需要安装xlrd
- 用到的execl分辨率列表如下:
pip install pywin32
pip install xlrd
完整脚本
import win32api,win32con,time,xlrd"""
Author:NoamaNelson
Date:2019-11-26
Discription:Python sets the resolution of Windows computer graphics card and obtains the resolution
"""book1 = xlrd.open_workbook('常见分辨率.xlsx') # 打开表格
q = book1.sheet_by_index(0) # 使用索引的方式获取sheet1工作簿
i = 0
while(i<=5):print("第%d次设置"%i)mwidth = str(q.cell_value(i+1,0)) # 获取单元格中的值nwidth = mwidth.split(".")[0] # 获取的值为float,转换成字符串然后进行分割取整WidthSet = int(nwidth) # 从表格中获取的分辨率宽的值#print(WidthSet)mhigth = str(q.cell_value(i+1,1)) # 获取单元格中的值nhigth = mhigth.split(".")[0] # 获取的值为float,转换成字符串然后进行分割取整HeightSet = int(nhigth) # 从表格中获取的分辨率宽的值#print(HeightSet)ResoLutionSet = win32api.EnumDisplaySettings(None, 0) # 调用win32api接口,获取显示设备信息ResoLutionSet.PelsHeight = HeightSet # 设置分辨率高ResoLutionSet.PelsWidth = WidthSet # 设置分辨率宽print("设置的分辨率宽: %d, 设置的分辨率高: %d, 即设置的分辨率为:%d x %d" % (WidthSet, HeightSet, WidthSet, HeightSet))ResoLutionSet.BitsPerPel = 32 # 显示设备的颜色分辨率ResoLutionSet.DisplayFixedOutput = 2 # 设置分辨率后拉伸画面,否则切换到小分辨率时,屏幕只在中间一小块if (win32api.ChangeDisplaySettings(ResoLutionSet, 0)) == 0: # DISP_CHANGE_SUCCESSFULwin32api.ChangeDisplaySettings(ResoLutionSet, 0) # 设置生效else:win32api.ChangeDisplaySettings(None, 0) # 恢复默认screenNum = win32api.GetSystemMetrics(win32con.SM_CMONITORS)print("显示设备的总数量为: %d" % screenNum)aScreenWidth = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)aScreenHeight = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)print("当前屏幕总的分辨率为:%d × %d " % (aScreenWidth, aScreenHeight))WidthGet = win32api.GetSystemMetrics(win32con.SM_CXSCREEN) # 获得屏幕分辨率X轴HeightGet = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) # 获得屏幕分辨率Y轴print ("获取的分辨率宽: %d, 获取的分辨率高: %d, 即获取的分辨率为:%d x %d" % (WidthGet, HeightGet, WidthGet, HeightGet))time.sleep(3)i += 1
输出的结果
存在的问题
目前使用这种方式,只能设置显卡列表支持的分辨率,不支持自定义分辨率。不知道有什么更好的方式,有知道的大牛给指导下。
参考资料
微软官方资料
其他博客说明
Python设置显示屏分辨率相关推荐
- 【天嵌分享活动】E9卡片电脑设置显示屏分辨率
天嵌开发板心得分享活动,迎来第一篇心得分享,经过审核,核定其符合要求.下面,我们来分享一下吧. 本人菜鸟,只能简单做一下功能实现,下面这个是开发手册的一个简单功能,我都是按照其来操作的,一搞就搞定了. ...
- python获取摄像头型号_python opencv设置摄像头分辨率以及各个参数的方法_python
下面就为大家分享一篇python opencv设置摄像头分辨率以及各个参数的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1,为了获取视频,你应该创建一个 VideoCapture 对 ...
- python opencv设置摄像头分辨率以及各个参数的方法
摘自:http://www.cppcns.com/jiaoben/python/224278.html python opencv设置摄像头分辨率以及各个参数的方法 发布时间: 2019-04-21 ...
- Python OpenCV设置摄像头分辨率
在创建完 VideoCapture 对象并成功打开摄像头后,可以使用函数 video.get(propId) 来获得视频的一些参数信息.这里propId 可以是 0 到 18 之间的任何整数.每一个数 ...
- Linux设置屏幕分辨率
如果你需要在linux上设置显示屏的分辨率,分两种情况:分辨率模式存在与分辨率模式不存在,具体如下. 1.分辨率模式已存在 1)如何查询是否存在: 图形界面:在设置显示栏查看下拉列表. 控制台:在控制 ...
- Ubuntu14.04外接显示屏分辨率调节方法
1.首先查看下当前已经提供的分辨率设置: xrandr 2.使用cvt生成指定的分辨率,这个分辨率一般可以在windows下查看. cvt 1280 768 3.创建新mode,直接将图片中Model ...
- python 设置开机自动启动 .py 文件
python 设置开机自动启动 .py 文件 创建python_auto.bat的快捷方式,放入启动项: C:\Users\Administrator\AppData\Roaming\Microsof ...
- [C# 开发技巧系列]如何动态设置屏幕分辨率
原文 http://www.cnblogs.com/zhili/archive/2013/05/23/ChangeResolution.html 因为最近在MSDN论坛和stackflow中看到一些朋 ...
- python modbus tk 库_如何使用modbus tk rtu(python)设置简单的从机和主机
我想通过modbus协议在树莓pi(从机)和pc(主机)之间建立通信.目前,我正在使用 modbus-tk (python)设置通信协议. 问题是主设备无法从从设备读取寄存器我能知道我的代码有什么问题 ...
- python中文版界面-python设置中文界面实例方法
下面,小编将通过一组实例演示,让大家更直观,更清楚明白的了解要设置中文这一内容的操作步骤. 首先展示实例代码: import pygame from pygame.locals import * de ...
最新文章
- 垃圾回收 内存管理 python
- python基础实例-Python基础之字符串常见操作经典实例详解
- TypePerf收集服务器性能
- Python--day63--添加书籍
- GNN笔记:傅里叶变换
- vue 使用fs_node.js中常用的fs文件系统
- 反思找开瓶器的过程:预判选择方法的执行结果 充分主动积极的沟通
- 计算机网络 上海交大 ppt,上海交大计算机网络2.ppt
- adf开发_了解ADF生命周期中的ADF绑定
- mysql云上迁移_自建mysql 迁移到云上-问答-阿里云开发者社区-阿里云
- 远程桌面连接--“发生身份验证错误。要求的函数不受支持
- 特征值和特征向量(整理)
- HTML教程(看完这篇就够了)
- python 压缩 解压文件
- 垃圾回收算法-标记清扫回收
- 从0到1的电商架构应该怎么做?有哪些坑?
- [SPRD]展锐Android R关机充电动画修改
- js刷新当前页的方法
- 头条号《群媒体》,自媒体工作室必看
- MySQL 常见时间获取整理(当日、当月、当年、上一日、上一月、上一年,当月第一天,当年第一天等等)