ImageGrab 模块

可以使用 ImageGrab 模块将屏幕或剪贴板的内容复制到 PIL 图像内存中。

在版本 1.1.3 中添加。

PIL.ImageGrab.grab(bbox=None, include_layered_windows=False, all_screens=False, xdisplay=None)[source]

拍摄屏幕快照。边界框内的像素将作为 macOS 上的“RGBA”或其他情况下的“RGB”图像返回。如果省略边界框,则复制整个屏幕,并且在 macOS 上,如果在 Retina 屏幕上,它将是 2x。

在 Linux 上,如果 xdisplayNone 并且默认的 X11 显示未返回屏幕快照,则如果安装了 gnome-screenshot,它将用作备用方案。要禁用此行为,请改用 xdisplay=""

在版本 1.1.3 中添加: (Windows),3.0.0 (macOS),7.1.0 (Linux)

参数:
  • bbox – 要复制的区域。默认为整个屏幕。在 macOS 上,这不会增加到 Retina 屏幕的 2x,因此 Retina 屏幕的全部宽度将是 1440,而不是 2880。在 Windows 上,如果使用 all_screens=True,则左上角点可能为负数。

  • include_layered_windows

    包含分层窗口。仅限 Windows 操作系统。

    在版本 6.1.0 中添加。

  • all_screens

    捕获所有显示器。仅限 Windows 操作系统。

    在版本 6.2.0 中添加。

  • xdisplay

    X11 显示地址。传递 None 以抓取默认系统屏幕。传递 "" 以在 Windows 或 macOS 上抓取默认的 X11 屏幕。

    您可以使用 PIL.features.check_feature() 以及 feature="xcb" 检查 X11 支持。

    在版本 7.1.0 中添加。

返回值:

图像

PIL.ImageGrab.grabclipboard()[source]

拍摄剪贴板图像的快照(如果有)。

在 Linux 上,需要 wl-pastexclip

在版本 1.1.4 中添加: (Windows),3.3.0 (macOS),9.4.0 (Linux)

返回值:

在 Windows 上,图像、文件名列表或 None(如果剪贴板不包含图像数据或文件名)。请注意,如果返回列表,文件名可能不代表图像文件。

在 Mac 上,图像或 None(如果剪贴板不包含图像数据)。

在 Linux 上,图像。