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 回答