当我们使用python进行屏幕截取时,我们通常会使用如下代码:
from PIL import ImageGrab
img = ImageGrab.grab()
img.save('xxx.png')
img.close()
但是,当我们再次加载时,就会发现,截取的屏幕和实际的屏幕不一致。具体表现为:重新读取后的图像,有点放大或者缩小的样子。原因在于,我们电脑的屏幕设置问题。
拿我自己的笔记本电脑为例,在桌面右键,点开显示设置,可以看到在缩放与布局这一栏,系统推荐的是125%。
而这,就是导致了我么使用PIL截取屏幕和读取屏幕图像产生差异的原因。要想让截屏和读屏的图像保持一致,我们可以使用下方的代码进行注册表的修改和环境变量的配置:
from PIL import ImageGrab
# 你要运行的程序的入口
def main():
img = ImageGrab.grab()
img.save('xxx.png'