我目前能够使用这个代码以使用Python的只有我的桌面图标的全屏截图/ PIL
from PIL import Image, ImageGrab
x =ImageGrab.grab()
x.show()
把我桌面的截图,但问题是,这抓住了python脚本/空闲对话框(框)也运行该脚本。 我想采取我的桌面屏幕干净的屏幕截图,通过脚本caputuring所有的桌面图标,背景屏幕和任务栏等。
有没有办法让它自动执行,这样脚本就可以自动执行它了?
谢谢。
我目前能够使用这个代码以使用Python的只有我的桌面图标的全屏截图/ PIL
from PIL import Image, ImageGrab
x =ImageGrab.grab()
x.show()
把我桌面的截图,但问题是,这抓住了python脚本/空闲对话框(框)也运行该脚本。 我想采取我的桌面屏幕干净的屏幕截图,通过脚本caputuring所有的桌面图标,背景屏幕和任务栏等。
有没有办法让它自动执行,这样脚本就可以自动执行它了?
谢谢。
我尝试了这样的代码:
from PIL import ImageGrab
import time
import cv2
time.sleep(5)
x = ImageGrab.grab()
x.save('Screenshot.jpg')
x.show()
我通过5秒延迟的ImageGrab.grab()
执行,在此期间,我最小化我的工作区,并切换到我的台式机。 5秒后它捕获了我的桌面屏幕截图并保存。
我仍然在想办法自动捕获桌面。
你也可以检查[THIS POST](http://stackoverflow.com/questions/24129253/screen-capture-with-opencv-and-python-2-7/24213099#24213099)。 –
其中一个解决方案是使用Python web服务器(龙卷风或其他)。
看看下面的代码(Python 3的版本):
pip install tornado
from PIL import ImageGrab
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
x = ImageGrab.grab()
x.show()
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
脚本运行时最小化空闲窗。
从您的手机或其他电脑打开浏览器,然后导航至:
http://[your IP address]:8888
我不能对此进行测试脚本,因为ImageGrab.grab()
仅适用于Mac和Windows,但遗憾的是没有在Linux上。
您是否设法让它工作? – Eddie
嗨Eddie,我还没有机会测试它。首先,我正在完成其他几个脚本。我没有太多使用网络服务器的经验,所以我想对这个主题进行一些阅读,并阅读一些教程,以获得基本的理解。一旦我玩了它,我会让你知道它是如何发生的。真正感谢提示和见解。 – Moondra