0

いろいろ試してみましたが、フルサイズのウィンドウの自動スクリーンショットを撮ろうとすると、黒い画面しか表示されません。

私は ImageGrab.grab() を試し、自動化された Prt Scr プレスを試しましたが、うまくいきませんでした。

自動化された Prt Scr キーを押すことで、画像を手動で正しくペイントに貼り付けることができましたが、ImageGrab.grabclipboard() を使用して Python に読み込もうとすると、再び黒くなりました。

hwnd=win32gui.GetActiveWindow() でも黒い画像が表示されましたが、win32gui の他の何かで正しい結果が得られるかどうかはわかりませんでした (十分に文書化されていないようです)。

私が最後に試したのは、自動化されたキーの押下と win32clipboard.GetClipboardData(win32clipboard.CF_BITMAP) で、これにより整数の結果が得られました。これは黒である場合とそうでない場合があります。GetClipboardData を Python で画像に変換する方法を誰かが知っていれば、それは素晴らしいことです。

または、代替案をいただければ幸いです。これらのメソッドはすべて (私が解決できなかった getClipboardData を除いて) ウィンドウ化されたプログラムのスクリーンショットに対して機能しました。

ありがとう。

4

1 に答える 1

0

やってみました

im = ImageGrab.grabclipboard()

if isinstance(im, Image.Image):
... got an image ...
elif im:
   for filename in im:
       try:
           im = Image.open(filename)
       except IOError:
           pass # ignore this file
       else:
           ... got an image ...
else:
    ... clipboard empty ...

http://effbot.org/imagingbook/imagegrab.htmから? はいの場合は、適応したコードを完全に投稿してください。チェックアウトできます。

于 2011-07-31T21:10:22.427 に答える