2016-12-25 2 views
1

を使用して唯一の私のデスクトップアイコンのフルスクリーンショットを撮る私は現在、このコードのpython/PIL

from PIL import Image, ImageGrab 
x =ImageGrab.grab() 
x.show() 

を使用して、私のデスクトップのスクリーンショットを撮ることができるよしかし、問題は、これはPythonスクリプト/アイドルを取り込み、ありますスクリプトを実行しているダイアログ(ボックス)も表示されます。 スクリプトを使用してすべてのデスクトップアイコン、バックグラウンド画面、タスクバーなどをキャプチャして、私のデスクトップ画面のクリーンスクリーンショットを撮りたいです。

自動化する方法はありますか?スクリプトが自動的にこれを行うようにしますか?

ありがとうございました。

+0

あなたはそれを動作させることができましたか? – Eddie

+0

こんにちはエディ、まだ試してみる機会はありません。私は最初にいくつかのスクリプトを完成させています。私はWebサーバを使って多くの経験を持っていないので、基本的な理解を得るために、いくつかのチュートリアルを読んで、そのテーマに関するいくつかの読書をしたいと思います。私は一度それと一緒に遊ぶとどのように行くのか教えてくれます。ヒントと洞察を本当に感謝します。 – Moondra

答えて

0

私はこのコードを試してみました。 5秒後に私のデスクトップのスクリーンショットがキャプチャされ、保存されました。

私はまだデスクトップを自動的にキャプチャする方法を考えています。

+0

[このPOST](http://stackoverflow.com/questions/24129253/screen-capture-with-opencv-and-python-2-7/24213099#24213099)もチェックすることができます。 –

1

解決策の1つは、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() 

をスクリプトが実行されているときIDLEウィンドウを最小化します。

を開き、お使いの携帯電話からブラウザまたは他のコンピュータとにナビゲート:

http://[your IP address]:8888

ImageGrab.grab()はLinuxだけでMacとWindows上で動作しますが、残念ながらありませんので、私はこのスクリプトをテストすることはできません。私は、5秒でImageGrab.grab()の実行を遅らせ、その間に私は私のワークスペースを最小限にし、私のデスクトップに切り替える

from PIL import ImageGrab 
import time 
import cv2 

time.sleep(5) 
x = ImageGrab.grab() 
x.save('Screenshot.jpg') 
x.show() 

+0

ありがとうございます。私はあまりよく知っていないので、私はもう少しPythonサーバーを読むでしょう。 – Moondra

+0

かなり簡単でしょう。ターミナルウィンドウから 'pip install tornado'を実行すると、文字通り上のコードをコピー、ペースト、実行することができます。上のリンクに移動すると、get関数内のコードが実行されます。あなたがトルネードについてもっと知りたければ、こちらのドキュメント(http://www.tornadoweb.org/en/stable/)をご覧ください。これは比較的単純です。私は強くPyCharmのような適切なIDEを使用することを強くお勧めします(まだしていない場合)、ブレークポイントの束でデバッグモードであなたのアプリを実行します。それはあなたの人生を楽にします。 – Eddie

関連する問題