簡體   English   中英

Java屏幕捕獲OpenGL和DirectX全屏應用程序

[英]Java Screen Capture OpenGL and DirectX fullscreen Applications

我正在嘗試用Java設計一個程序,以定期(每100毫秒左右)拍攝我的顯示屏幕截圖,並計算整個屏幕的平均像素rgb值。 我需要使用它才能使用視頻游戲和iTunes / Quicktime視頻。 但是,我嘗試使用JNA和機器人捕獲屏幕,並且僅當我未捕獲全屏視頻游戲或iTunes視頻時,它才有效。 例如,我通過保存圖像來檢查並查看發生了什么,從而測試了我的代碼。 在視頻游戲中,我只會看到空白窗口的屏幕截圖。 我認為這是因為游戲使用DirectX或OpenGL,並且與硬件的通信方式與典型應用程序不同。

如果我用這個這個用於捕捉屏幕截圖,而不是機器人或JNA將這個解決我的問題的方法? 看起來它正在復制來自openGL屏幕緩沖區的數據。 那么DirectX應用程序呢?

我基本上只是希望能夠始終在屏幕上獲取感知的像素數據。 無論其是否為全屏DirectX或OpenGL應用程序。 在此先感謝您的幫助。

我猜這是針對amBX照明系統的自制版本。 即使不是,以下頁面也可能為您提供幫助; 它包含用於DIY環境照明設置的Java代碼和arduino代碼,它們需要完成相同的操作:

http://siliconrepublic.blogspot.com/2011/02/arduino-based-pc-ambient-lighting.html

需要考慮的事項:1.出於處理速度的原因,該示例代碼故意忽略了屏幕上的某些像素。2.根據您的顯示內容(賽車游戲,第一人稱射擊游戲和自上而下的策略)或MOBA游戲或電影),則可能需要有目的地將顯示器分成不同的區域。 例如,對於賽車游戲,您可能希望左右兩側都更加獨立並且對快速變化反應靈敏,而對於普通電影觀看,您可能需要更通用的輸出,因為您處理的方式多種多樣相機可以移動。

暫無
暫無

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

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