簡體   English   中英

Java:獲取瀏覽器中可見區域的屏幕截圖

[英]Java : Take screenshot of visible area in the browser

有沒有辦法在Java的瀏覽器中減去瀏覽器窗口的顯示屏幕截圖。 流程是:

在瀏覽器中加載網頁。 然后對Java服務進行AJAX調用,該服務使用以下代碼捕獲屏幕截圖: 如何在Java中獲取屏幕截圖?

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

謝謝

您可以測量可顯示區域的大小,然后僅捕獲該部分。

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

正如@OscarRyz已經提到的,此處的AJAX調用無關緊要。 您必須創建一個調用new Robot().checkScreenCaptureAllowed() Java小程序。 這將捕獲整個屏幕。

問題是如何了解可見區域在哪里。 您可能可以做到。 您必須在小程序中至少創建一個可見元素。 該元素甚至可能很小(例如一個像素),因此用戶將看不到它。 然后,您可以調用getLocationOnScreen() ,它為您提供屏幕上的絕對坐標。 如果您的Java小程序位於左上角,則這是可見區域的起點。

JavaScript使您可以知道當前窗口的高度和寬度: window.innerWidhtwindow.innerHeight 因此,您現在可以進行屏幕截圖並剪切所需的區域。

但是請考慮到new Robot().checkScreenCaptureAllowed()檢查READ_DISPLAY_PIXELS_PERMISSION ,我不認為您具有未簽名小程序的這種權限,因此您必須對小程序進行簽名。

為避免此問題,請查看以下內容: http : //html2canvas.hertzen.com/- “捕獲”屏幕並僅使用JavaScript的腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM