转载来自: http://www.cnblogs.com/fatterbetter/p/4115423.html
需要用windows的api,ChangeDisplaySettings
实现代码如下:
1 import win32api 2 dm = win32api.EnumDisplaySettings(None, 0) 3 dm.PelsHeight = 900 4 dm.PelsWidth = 1400 5 dm.BitsPerPel = 32 6 dm.DisplayFixedOutput = 0 7 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,在我机器上都为拉伸
有了这个脚本,需要改变分辨率时,只需双击一下
Linux 命令行修改分辨率
通过 xrandr 命令查看本机屏显配置
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 VGA-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.00*+ 1680x1050 59.95 1280x1024 75.02 60.02 1440x900 59.89 1280x960 60.00 1280x720 60.00 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 640x480 75.00 72.81 66.67 59.94 720x400 70.08 HDMI-1 disconnected (normal left inverted right x axis y axis) DVI-D-1 disconnected (normal left inverted right x axis y axis)
修改分辨率:
xrandr --output VGA-1 --mode 1024x768