广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现设置显示屏分辨率
  • 336
分享到

Python实现设置显示屏分辨率

Python 官方文档:入门教程 => 点击学习

摘要

目录工具安装完整脚本输出的结果存在的问题工具安装 主要调用win32库实现分辨率获取和读写,需要安装pywin32 示例中是从execl列表中读取需要设置的分辨率,需要安装xlrd

工具安装

主要调用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_SUCCESSFUL
        win32api.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实现设置显示屏分辨率的文章就介绍到这了,更多相关Python设置显示屏分辨率内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现设置显示屏分辨率

本文链接: https://www.lsjlt.com/news/177560.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现设置显示屏分辨率
    目录工具安装完整脚本输出的结果存在的问题工具安装 主要调用win32库实现分辨率获取和读写,需要安装pywin32 示例中是从execl列表中读取需要设置的分辨率,需要安装xlrd ...
    99+
    2023-01-12
    Python设置显示屏分辨率 Python 显示屏分辨率 Python 分辨率
  • Win8.1设置图片文件以分辨率排序显示分辨率信息
      Win8.1中图片文件以详细信息显示时,还可以在文件上方的详细信息项目标题栏空白处右键,添加分辨率显示,使图片文件除了显示大小、日期、类型外,还显示出分辨率信息。   那么有的朋友可能会说,我想让Wi...
    99+
    2022-06-04
    分辨率 文件 图片
  • deepin系统怎么设置屏幕分辨率?deepin分辨率的设置方法
    deepin中设置分辨率是很常见的说会用,该怎么设置呢?下面我们就来看看详细的教程。 方法一、图形下设置 点击任务栏上的“控制中心”。 在控制中心中选择“显示”。 在显示中,...
    99+
    2022-05-30
    deepin 分辨率 分辨率
  • CentOS7.0怎么设置屏幕分辨率?
    CentOS7.0怎么修改屏幕分辨率?举得电脑屏幕的分辨率不是很清楚,想要重新设置一下,该怎么设置呢?下面我们就来看看详细的教程。 点击“应用程序”→“系统工具”&ra...
    99+
    2022-05-21
    CentOS 屏幕 分辨率
  • win10屏幕分辨率如何设置
    本文小编为大家详细介绍“win10屏幕分辨率如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10屏幕分辨率如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win10屏幕分辨率设置方法:win1...
    99+
    2023-07-01
  • CentOS7.0如何设置屏幕分辨率
    这篇文章主要介绍了CentOS7.0如何设置屏幕分辨率,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CentOS7.0怎么修改屏幕分辨率?举得电脑屏幕的分辨率不是很清楚,想要...
    99+
    2023-06-10
  • windows8系统屏幕分辨率及横向/竖向屏幕显示模式设置图解
    Win8屏幕的改变可以实现多种操作设定,包括屏幕分辨率的调整、显示器的选择以及横竖屏的切换等等。Win8这些屏幕设定功能的运用,跟过去的操作系统相比,有什么特点或是不同点?我们就在本期的Win8大百科栏目中...
    99+
    2022-06-04
    横向 屏幕 屏幕分辨率
  • Win8系统屏幕分辨率设置界面提示你的分辨率低于1280*960
    故障现象: 电脑安装了Windows 8后,在“屏幕分辨率”设置界面出现“你的分辨率低于1280*960。某些项目可能无法在屏幕上显示。 但实际上,当前的分辨率已经设置为...
    99+
    2022-06-04
    分辨率 界面 提示
  • 麒麟操作系统如何支持多屏幕显示和分辨率设置
    麒麟操作系统支持多屏幕显示和分辨率设置的功能。以下是步骤:1. 连接多个显示器:将额外的显示器通过适当的接口(例如HDMI、Disp...
    99+
    2023-10-10
    麒麟操作系统
  • windows amd显卡分辨率怎么设置
    本文小编为大家详细介绍“windows amd显卡分辨率怎么设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows amd显卡分辨率怎么设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。amd显卡设置...
    99+
    2023-07-02
  • windows bios如何设置显卡分辨率
    本文小编为大家详细介绍“windows bios如何设置显卡分辨率”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows bios如何设置显卡分辨率”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。bios设...
    99+
    2023-07-01
  • 电脑23寸显示器最佳分辨率如何设置
    本文小编为大家详细介绍“电脑23寸显示器最佳分辨率如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“电脑23寸显示器最佳分辨率如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。23寸显示器最佳分辨率设置...
    99+
    2023-07-01
  • deepin系统如何设置屏幕分辨率
    小编给大家分享一下deepin系统如何设置屏幕分辨率,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!deepin中设置分辨率是很常见的说会用,该怎么设置呢?下面我们就来看看详细的教程。方法一、图形下设置点击任务栏上的“控制中...
    99+
    2023-06-10
  • windows todesk远程怎么设置屏幕分辨率
    这篇“windows todesk远程怎么设置屏幕分辨率”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows tod...
    99+
    2023-07-01
  • Win8设置屏幕分辨率和屏幕刷新频率图文教程
      Win8屏幕的改变可以实现多种操作设定,包括屏幕分辨率的调整、显示器的选择以及横竖屏的切换等等。Win8这些屏幕设定功能的运用,跟过去的操作系统相比,有什么特点或是不同点我们就在本期的Win8大百科栏目...
    99+
    2022-06-04
    频率 屏幕 屏幕分辨率
  • Ubuntu屏幕分辨率不能设置怎么解决
    这篇文章主要介绍“Ubuntu屏幕分辨率不能设置怎么解决”,在日常操作中,相信很多人在Ubuntu屏幕分辨率不能设置怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ubuntu屏幕分辨率不能设置怎么解决...
    99+
    2023-07-04
  • 低分辨率强制开启Windows8 Snap分屏显示功能操作方法
    用户怎么突破低分辨率的显示器使用Windows8系统,但是通过修改注册表也能使低分辨率强制开启程序分屏显示的功能。 操作步骤 按“Win+R”组合键打开运行输入“reg...
    99+
    2022-06-04
    操作方法 低分 功能
  • ubuntu 12.04中intel集成显卡如何设置分辨率
    这篇文章主要介绍了ubuntu 12.04中intel集成显卡如何设置分辨率,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 手动创建:代码如下:cd /etc/X11sud...
    99+
    2023-06-13
  • flutter开发实战-获取屏幕显示大小及物理像素分辨率
    flutter开发实战-获取屏幕显示大小及物理像素分辨率 在开发过程中,经常遇到需要获取屏幕显示的大小及物理像素分辨率,这里会用到MediaQuery,MediaQuery必须依赖BuildConte...
    99+
    2023-09-24
    flutter javascript 开发语言
  • xp系统怎么快速设置调节屏幕分辨率
    本篇内容主要讲解“xp系统怎么快速设置调节屏幕分辨率”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“xp系统怎么快速设置调节屏幕分辨率”吧!鼠标左键点击电脑空白地方。如图所示:  &nb...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作