Как сделать скриншот в Windows 7 с python? - PullRequest
2 голосов
/ 15 октября 2010

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

Проблема в том, что мы пытаемся сделать скриншот того, что показано наэкран, не только игра (с OpenGL), но и любые окна, которые открыты для обнаружения программ, которые накладываются на изображение игры (например, чтобы указать позиции других игроков в онлайн-играх)

Мы пыталисьиспользовать Python Imaging Library (PIL), но с открытой игрой, делая снимки серым, OpenGL рисует изображения черным и пробовал другие вещи, но ничего не помогло (проблемы с Aero в Windows Vista / 7).

Google не показывает ничего об этом.

Кто-нибудь знает, как сделать скриншот с python в Windows 7?

from PIL import ImageGrab 
ImageGrab.grab().save('test.jpg', "JPEG")

Это не работает

import Tkinter
from OpenGL.GL import *
root = Tkinter.Tk()
width = int(root.winfo_screenwidth())
height = root.winfo_screenheight()
screenshot = glReadPixels( 0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE)
im = Image.frombuffer("RGBA", (width, height), screenshot, "raw", "RGBA", 0, 0)
im.save('test.jpg')

И это не работает

1 Ответ

1 голос
/ 15 октября 2010

Модуль ImageGrab должен работать в Windows 7.

http://effbot.org/imagingbook/imagegrab.htm

...