我編寫了一個Java應用程序,它使用java.awt.Robot獲取屏幕的屏幕截圖,並想知道是否可以使用DirectX/OpenGL捕獲程序?使用Java的DirectX程序的屏幕捕獲
每次我嘗試這樣做,我得到一個黑色的屏幕
我編寫了一個Java應用程序,它使用java.awt.Robot獲取屏幕的屏幕截圖,並想知道是否可以使用DirectX/OpenGL捕獲程序?使用Java的DirectX程序的屏幕捕獲
每次我嘗試這樣做,我得到一個黑色的屏幕
是的,這是可能的。但也許只在有限的環境中。
我已經成功地抓獲的OpenGL(JOGL)使用機器人createScreenCapture在Linux上的窗口和窗口的內容。
有關,可能是你不同實施的一些具體信息:
確保你傳遞了正確的座標。你可以得到屏幕座標從GraphicsEnvironment
使用呃......一個很難O)
我曾與其他一些截圖utils的一個嘗試,有一個黑色的屏幕,太。看起來像DirectX是直接將圖形傳送到顯示器輸出。我想知道如果這可以在Java應用程序內訪問。
不知道這是不是一個真正的解決方案,但似乎有更多可能的方式獲得使用「採集卡」,或者從JavaCV一些相關類可能的截圖信息:http://code.google.com/p/javacv/ 一些最終輸出的屏幕上顯示的可能可以在圖形卡上進行計算,該圖形卡在將圖像數據放入顯示緩衝區之前設置爲對圖像數據起作用,以便顯示所示內容,因此如果沒有模擬環回,可能無法捕捉某些效果(從視頻輸出到視頻輸入一張採集卡)。
OpenGL是一個繪圖API,而不是所有的通用接口的圖形系統。有些時候,通過一些骯髒的黑客,通過OpenGL進行截圖確實是可能的。然而,最近我試圖在現代操作系統上重新實現它,看看它是否仍然有效,不,現在它不再適用。