有沒有辦法在瀏覽器中以Java瀏覽器的屏幕截圖減去瀏覽器窗口。流程如下:Java:在瀏覽器中截取可見區域
在瀏覽器中加載網頁。然後使用以下代碼捕獲屏幕截圖的Java服務的AJAX調用:How to take a screenshot in Java?。
這裏的問題是我只想捕獲瀏覽器窗口,窗口任務欄和其他不需要的東西的瀏覽器中的可見區域。
感謝
有沒有辦法在瀏覽器中以Java瀏覽器的屏幕截圖減去瀏覽器窗口。流程如下:Java:在瀏覽器中截取可見區域
在瀏覽器中加載網頁。然後使用以下代碼捕獲屏幕截圖的Java服務的AJAX調用:How to take a screenshot in Java?。
這裏的問題是我只想捕獲瀏覽器窗口,窗口任務欄和其他不需要的東西的瀏覽器中的可見區域。
感謝
由於@OscarRyz已經提到AJAX調用在這裏是無關緊要的。 您必須創建調用new Robot().checkScreenCaptureAllowed()
的Java applet。這將捕獲整個屏幕。
問題是如何理解可視區域的位置。你可以做到這一點。您必須在applet中創建至少一個可見元素。這個元素甚至可以很小(例如一個像素),所以用戶不會看到它。然後你可以調用getLocationOnScreen()
,它給你屏幕上的絕對座標。如果你的java小應用程序位於左上角,這是可見區域開始的地方。
JavaScript允許您瞭解當前窗口的高度和寬度:window.innerWidht
和window.innerHeight
。所以,你現在可以進行屏幕截圖並剪切你需要的區域。
但請注意,new Robot().checkScreenCaptureAllowed()
檢查READ_DISPLAY_PIXELS_PERMISSION
,我不相信你有這樣的權限的未簽名的小程序,所以你將不得不簽署你的小程序。
爲了避免這個問題,請看看這個:http://html2canvas.hertzen.com/ - 「捕獲」屏幕並僅使用JavaScript的腳本。
你可以只測量有多大顯示面積和只捕獲部分。
至於AJAX調用Java服務部分是不可能的。
網絡服務器上的代碼如何在您的計算機上截取某些內容? – 2011-12-29 09:11:46
您實際上需要使用Javascript拍攝屏幕截圖,然後您可以將此圖像傳遞給後臺Java服務。 – Ewald 2011-12-29 09:16:09
我當然希望你不要這樣做:http://programmers.stackexchange.com/questions/126513/form-screenshot-for-legal-proof-of-clicking-one-of-the-checkboxes – 2011-12-29 09:22:18