ImageGrab モジュール

ImageGrab モジュールは、画面またはクリップボードの内容を PIL 画像メモリにコピーするために使用できます。

バージョン 1.1.3 で追加されました。

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

画面のスナップショットを取得します。バウンディングボックス内のピクセルは、macOS では「RGBA」、それ以外の場合は「RGB」画像として返されます。バウンディングボックスが省略された場合、画面全体がコピーされ、macOS では Retina 画面の場合 2 倍になります。

Linux では、xdisplayNone で、デフォルトの X11 ディスプレイが画面のスナップショットを返さない場合、gnome-screenshot がインストールされていればフォールバックとして使用されます。この動作を無効にするには、代わりに xdisplay="" を渡します。

バージョン 1.1.3 で追加: (Windows), 3.0.0 (macOS), 7.1.0 (Linux)

パラメータ:
  • **bbox** – コピーする領域。デフォルトは画面全体です。macOS では、Retina 画面の場合 2 倍にならないため、Retina 画面の全幅は 2880 ではなく 1440 になります。Windows では、all_screens=True が使用されている場合、左上の点が負になることがあります。

  • **include_layered_windows** –

    レイヤードウィンドウを含みます。Windows OS のみ。

    バージョン 6.1.0 で追加されました。

  • **all_screens** –

    すべてのモニタをキャプチャします。Windows OS のみ。

    バージョン 6.2.0 で追加されました。

  • **xdisplay** –

    X11 ディスプレイアドレス。None を渡すと、デフォルトのシステム画面が取得されます。"" を渡すと、Windows または macOS のデフォルトの X11 画面が取得されます。

    X11 のサポートは、PIL.features.check_feature()feature="xcb" と共に使用して確認できます。

    バージョン 7.1.0 で追加されました。

戻り値:

画像

PIL.ImageGrab.grabclipboard()[ソース]

クリップボードの画像があれば、そのスナップショットを取得します。

Linux では、wl-paste または xclip が必要です。

バージョン 1.1.4 で追加: (Windows), 3.3.0 (macOS), 9.4.0 (Linux)

戻り値:

Windows では、画像、ファイル名のリスト、またはクリップボードに画像データまたはファイル名がない場合は None が返されます。リストが返された場合、ファイル名が画像ファイルを表していない可能性があることに注意してください。

Mac では、画像、またはクリップボードに画像データがない場合は None が返されます。

Linux では、画像が返されます。