2011-12-29 46 views
0

有沒有辦法在瀏覽器中以Java瀏覽器的屏幕截圖減去瀏覽器窗口。流程如下:Java:在瀏覽器中截取可見區域

在瀏覽器中加載網頁。然後使用以下代碼捕獲屏幕截圖的Java服務的AJAX調用:How to take a screenshot in Java?

這裏的問題是我只想捕獲瀏覽器窗口,窗口任務欄和其他不需要的東西的瀏覽器中的可見區域。

感謝

+0

網絡服務器上的代碼如何在您的計算機上截取某些內容? – 2011-12-29 09:11:46

+0

您實際上需要使用Javascript拍攝屏幕截圖,然後您可以將此圖像傳遞給後臺Java服務。 – Ewald 2011-12-29 09:16:09

+0

我當然希望你不要這樣做:http://programmers.stackexchange.com/questions/126513/form-screenshot-for-legal-proof-of-clicking-one-of-the-checkboxes – 2011-12-29 09:22:18

回答

0

由於@OscarRyz已經提到AJAX調用在這裏是無關緊要的。 您必須創建調用new Robot().checkScreenCaptureAllowed()的Java applet。這將捕獲整個屏幕。

問題是如何理解可視區域的位置。你可以做到這一點。您必須在applet中創建至少一個可見元素。這個元素甚至可以很小(例如一個像素),所以用戶不會看到它。然後你可以調用getLocationOnScreen(),它給你屏幕上的絕對座標。如果你的java小應用程序位於左上角,這是可見區域開始的地方。

JavaScript允許您瞭解當前窗口的高度和寬度:window.innerWidhtwindow.innerHeight。所以,你現在可以進行屏幕截圖並剪切你需要的區域。

但請注意,new Robot().checkScreenCaptureAllowed()檢查READ_DISPLAY_PIXELS_PERMISSION,我不相信你有這樣的權限的未簽名的小程序,所以你將不得不簽署你的小程序。

爲了避免這個問題,請看看這個:http://html2canvas.hertzen.com/ - 「捕獲」屏幕並僅使用JavaScript的腳本。

1

你可以只測量有多大顯示面積和只捕獲部分。

至於AJAX調用Java服務部分是不可能的。

相關問題