2011-12-29 7 views
0

Javaのブラウザからブラウザのウィンドウを引いたブラウザの表示のスクリーンショットを取得する方法はありますか?フローは次のとおりです。Java:ブラウザの可視領域のスクリーンショットを取る

ブラウザでWebページを読み込みます。それから、How to take a screenshot in Java?のコードを使ってスクリーンショットをキャプチャするJavaサービスへのAJAX呼び出しを行います。

ここで問題となるのは、ブラウザーウィンドウ、ウィンドウのタスクバー、およびその他の不要なものを除いて、ブラウザー内の可視領域のみをキャプチャーすることです。

おかげ

+0

Webサーバー上のコードは、コンピュータ上の何かのスクリーンショットをとる可能性がありますか? –

+0

実際にJavascriptを使ってスクリーンショットを撮る必要がある場合、このイメージをバックグラウンドのJavaサービスに渡すことができます。 – Ewald

+0

私は確かにこれをやろうとしていないことを願っています:http://programmers.stackexchange.com/questions/126513/form-screenshot-for-legal-proof-of-clicking-one-of-the-checkboxes –

答えて

0

@OscarRyzが既に述べたように、AJAX呼び出しはここでは無関係です。 new Robot().checkScreenCaptureAllowed()を呼び出すJavaアプレットを作成する必要があります。これは画面全体をキャプチャします。

問題は、表示領域がどこにあるかを理解することです。あなたはおそらくそれを行うことができます。アプレットに少なくとも1つの可視要素を作成する必要があります。この要素は非常に小さくても(たとえば1ピクセル)、ユーザーは表示されません。次に、画面上に絶対座標を与えるgetLocationOnScreen()を呼び出すことができます。 Javaアプレットが左上隅にある場合、これは可視領域が始まる点です。

JavaScriptでは、現在のウィンドウの高さと幅を確認できます。window.innerWidhtwindow.innerHeightです。だから、あなたはあなたの画面キャプチャを取ることができ、必要な領域をカットすることができます。

しかし、new Robot().checkScreenCaptureAllowed()READ_DISPLAY_PIXELS_PERMISSIONであることを確認してください。署名されていないアプレットにこのようなアクセス許可があるとは思わないので、アプレットに署名する必要があります。

http://html2canvas.hertzen.com/ - 画面をキャプチャし、JavaScriptのみを使用するスクリプト。

1

あなただけの表示可能領域でどのように大きな測定し、そのセクションのみをキャプチャすることができます。

については、JavaサービスのAJAX呼び出しは不可能です。

関連する問題