Съемка полноэкранных изображений с помощью Python (Windows) - PullRequest
0 голосов
/ 31 июля 2011

Я попробовал несколько вещей, но все, что я могу получить, если я попытаюсь сделать автоматический снимок экрана в полноразмерном окне, это черный экран.

Я попробовал ImageGrab.grab (), и автоматическое нажатие Prt Scr, и мне не повезло.

Автоматическое нажатие клавиши Prt Scr позволило мне вручную правильно вставить изображение в краску, но если я попытался загрузить его в Python с помощью ImageGrab.grabclipboard () снова стал черным.

hwnd = win32gui.GetActiveWindow () также дал мне черные изображения, хотя я не был уверен, что что-то еще в win32gui даст мне правильные результаты (это не таккажется хорошо документированным).

Последнее, что я попробовал, было автоматическое нажатие клавиши и win32clipboard.GetClipboardData (win32clipboard.CF_BITMAP), это дало мне целочисленный результат, который может быть или не быть черным.Если кто-то знает, как преобразовать GetClipboardData в изображение на Python, это было бы здорово.

Или я был бы признателен за любые альтернативные предложения.Все эти методы (кроме getClipboardData, который я не смог отработать) работали для скриншотов оконных программ.

Спасибо.

1 Ответ

0 голосов
/ 01 августа 2011

Вы пробовали

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? Если да, опубликуйте свой адаптированный код полностью, чтобы мы могли проверить его.

...