如何在Windows 7中用python截图?

2 投票
1 回答
1662 浏览
提问于 2025-04-16 05:31

我和一些朋友正在做一个游戏的反作弊工具,我们选择了Python,因为它可以在多个平台上运行。

我们遇到的问题是,我们想要截取屏幕上显示的内容,不仅仅是游戏画面(使用OpenGL),还包括所有打开的窗口,以便检测那些在游戏画面上叠加的程序(比如显示其他玩家位置的工具)。

我们尝试使用Python图像库(PIL),但是在游戏打开时,截取的图片是灰色的,OpenGL绘制的图像是黑色的,我们还尝试了其他方法,但都没有成功(在Windows Vista/7上遇到Aero的问题)。

谷歌上没有找到相关的信息。

有没有人知道在Windows 7上用Python截屏的办法?

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

ImageGrab模块应该可以在Windows 7上正常使用。

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

撰写回答