我正在构建一个桌面应用程序,它将简单的图形HUD放到其他应用程序窗口中。所以基本上我需要我的应用程序能够作为父应用程序访问另一个应用程序,然后在它上面构建HUD。RMagick可以做到这一点吗? 如果没有,Ruby 中还有其他东西可以满足我的需求吗?
我基本上需要帮助探索选项,因为与做这样的事情相关的信息似乎很少。 因此,如果这涉及我必须访问特定的 C 库或其他东西的事实,那很好。 我只是有点不知道从哪里开始。
编辑:有人可以评论为什么没有得到任何回应吗? 它只是那么独特的要求吗?
您是否正在尝试在现有应用程序窗口之上创建覆盖层,类似于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 会在这里帮助你,你需要做的将是特定于操作系统的,所以你将不得不涉足原生代码。