![](/img/trans.png)
[英]Take screenshot in native java and display this screenshot in flutter
[英]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.innerWidht
和window.innerHeight
。 因此,您現在可以進行屏幕截圖並剪切所需的區域。
但是請考慮到new Robot().checkScreenCaptureAllowed()
檢查READ_DISPLAY_PIXELS_PERMISSION
,我不認為您具有未簽名小程序的這種權限,因此您必須對小程序進行簽名。
為避免此問題,請查看以下內容: http : //html2canvas.hertzen.com/- “捕獲”屏幕並僅使用JavaScript的腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.