需要頻繁切換屏幕分辨率,想寫個腳本來實現,需要切換時運行一下就好
在網上查到,需要用windows的api,ChangeDisplaySettings
實現代碼如下
import win32api dm = win32api.EnumDisplaySettings(None, 0) dm.PelsHeight = 720 dm.PelsWidth = 1280 dm.BitsPerPel = 32 dm.DisplayFixedOutput = 0 win32api.ChangeDisplaySettings(dm, 0)
其中,一開始沒有設置DisplayFixedOutput的值,在我機器上的效果是,切到小分辨率時,屏幕只在中間一小塊,而在系統中調整時,是可以拉伸的,后來才找到是這個值在起作用
MSDN上的解釋為
Value | Meaning | |
---|---|---|
DMDFO_DEFAULT | The display's default setting. | #define DMDFO_DEFAULT 0 |
DMDFO_CENTER | The low-resolution image is centered in the larger screen space. | #define DMDFO_CENTER 2 |
DMDFO_STRETCH | The low-resolution image is stretched to fill the larger screen space. | #define DMDFO_STRETCH 1 |
將值設為1,或者0,在我機器上都為拉伸
有了這個腳本,需要改變分辨率時,只需雙擊一下