专业接各种小工具软件及爬虫软件开发,联系Q:2391047879

简易屏幕截图工具(PIL截屏功能)

发布时间: 2025-07-19 15:30:01 浏览量: 本文共包含454个文字,预计阅读时间2分钟

在Python生态中实现屏幕截图并不需要复杂的第三方库。PIL(Python Imaging Library)的继承者Pillow库自带屏幕捕捉功能,只需几行代码就能完成这个看似复杂的任务。

安装Pillow库时要注意系统差异。Windows用户直接执行`pip install pillow`即可,Linux用户可能需要先安装`python3-tk`依赖包。安装完成后导入ImageGrab模块,这个命名源自早期版本的"图像抓取"功能定位。

核心方法`ImageGrab.grab`支持两种参数模式。不传参数时会全屏截图,传入四元组坐标则截取指定区域。坐标格式遵循屏幕左上角为原点(0,0)的坐标系系统。实际测试中发现,某些高分屏设备需要额外配置缩放参数才能准确定位。

保存截图时建议使用PNG格式。相较于JPG的有损压缩,PNG的无损特性可以完整保留界面文字边缘的清晰度。若需要定时截图,搭配schedule库可实现自动化操作。以下代码示例实现了每分钟截屏并添加时间水印的功能:

```python

from PIL import ImageGrab, ImageDraw

import schedule

import time

def timed_screenshot:

img = ImageGrab.grab

draw = ImageDraw.Draw(img)

draw.text((10,10), time.strftime("%Y-%m-%d %H:%M:%S"), fill='red')

img.save(f'screen_{time.time}.png')

schedule.every(1).minutes.do(timed_screenshot)

while True:

schedule.run_pending

time.sleep(1)

```

该工具对多显示器支持有限,新版macOS系统存在兼容性问题。需要捕捉动态窗口时可结合pywin32库获取活动窗口坐标。对于需要滚动截图的场景,建议改用专门的长截图工具。