2011-05-11 45 views
1

我正在構建一個桌面應用程序,將簡單的圖形HUD放到其他應用程序窗口中。所以基本上我需要我的應用程序能夠訪問另一個應用程序作爲父項,然後在其上構建HUD。這可能與RMagick?如果沒有,那麼Ruby中是否還有別的東西可以滿足我的需求?是否可以使用RMagick在其他應用程序窗口上繪製覆蓋圖?

我基本上需要幫助探索選項,因爲似乎有很少的信息與做這樣的事情有關。所以如果這涉及到我必須訪問特定的C庫或其他東西的事實,那很好。我從一開始就有點失落。

編輯:有人可以評論爲什麼這是沒有得到任何迴應?這僅僅是一個獨特的要求嗎?

回答

2

您是否試圖在現有應用程序窗口上創建疊加層,類似於Xfire,Raptr,Steam或Fraps所做的?如果您在Windows上執行此操作,並且想要覆蓋全屏DirectX應用程序(如視頻或遊戲),則需要掛接DirectDraw。這是一個相當古老的庫,它似乎不受支持,但它可以作爲一個起點:http://directdrawoverlaylib.codeplex.com/

如果您只是想覆蓋標準(而不是DirectX)應用程序,則可以讓應用程序使用無邊界透明窗口您可以繪製您的內容。然後,跟蹤「父」窗口的移動,以便相應地移動您的子窗口。以下是使用Windows中的「分層窗口」功能製作透明窗口的示例。 http://msdn.microsoft.com/en-us/library/ms997507.aspx但是你可以在OSX上用相應的Cocoa API來做同樣的事情。

我不認爲RMagick會幫助你,你需要做的將是操作系統特定的,所以你將不得不涉及本機代碼。

+0

太多了,那是我需要的信息。 – 2011-05-23 21:28:34

相關問題