日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python设置显示屏分辨率

發布時間:2024/8/1 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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设置显示屏分辨率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。