簡體   English   中英

如何操作屏幕輸出?

[英]How can I manipulate screen output?

我正在計划一個新項目,可能會涉及在Linux系統上操縱屏幕輸出。 這個想法是使用相機檢測站在投影儀前面的人,並去除將被投影到該人的那部分圖像。 (這樣至少該人不會失明)。

因此,基本上,我需要對輔助監視器進行中間人攻擊。 我發現XvfB(據我了解)可以模擬屏幕。 我的想法是現在建立一個模擬屏幕,修改圖像內容,然后將新圖像發送到真實的投影儀。

有人做了這樣的事情還是采用了完全不同的方法?

我將使用Composite擴展來做到這一點。 您可以使用簡單的復合管理器(例如compton)作為基礎。

復合管理器將所有其他X11客戶端窗口接收為幀緩沖區。 然后,它可以在自己的全屏窗口上以任意方式渲染它們。

在您的情況下,復合管理器會屏蔽特定區域,從而偏離其通常的行為。 在現有代碼庫上進行的更改似乎很小。

請注意,大型桌面(KDE,Gnome,Unity…)的窗口管理器都包含一個復合管理器。 在這種情況下,您將無法運行自己的程序,而需要修補相應窗口管理器的復合模塊。

但是,出於您的目的,我認為更改為更簡單的窗口管理器+您的自定義復合管理器解決方案不會有多大傷害。

您可以使用X SHAPE擴展名: http : //www.x.org/releases/X11R7.7/doc/xextproto/shape.html

使用它,您可以創建具有不規則形狀的窗口。 (就像xeyes程序一樣。)您可以創建一個黑色的全屏無色“總是在頂部”窗口,該窗口將根據您提供的蒙版不斷更改形狀。

暫無
暫無

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

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