使用Python拍摄全屏图像(Windows)

时间:2011-07-31 19:39:48

标签: python windows python-imaging-library win32com win32gui

我尝试过很多东西,但是如果我尝试自动屏幕拍摄全尺寸窗口,我只能获得黑屏。

我尝试过ImageGrab.grab(),自动Prt Scr按下,我没有运气。

自动Prt Scr按键允许我手动将图像正确粘贴到绘图中,但如果我尝试使用ImageGrab.grabclipboard()将其加载到Python中,它会再次显示为黑色。

hwnd = win32gui.GetActiveWindow()也给了我黑色图片,虽然我不确定win32gui中的其他内容是否会给我正确的结果(它似乎没有详细记录)。

我尝试的最后一件事是自动按键和win32clipboard.GetClipboardData(win32clipboard.CF_BITMAP)这给了我一个整数结果,可能是也可能不是黑色。如果有人知道如何将GetClipboardData转换为Python中的图像,那就太棒了。

或者我会感谢任何其他建议。所有这些方法(除了我无法解决的getClipboardData)都适用于窗口程序的截图。

感谢。

1 个答案:

答案 0 :(得分: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? 如果是,请将您的自适应代码发布完整,以便我们查看。