【问题标题】:Is it possible to use RMagick to draw overlays on to other application windows?是否可以使用 RMagick 在其他应用程序窗口上绘制叠加层?
【发布时间】:2011-05-11 06:12:59
【问题描述】:

我正在构建一个桌面应用程序,它将一个简单的图形 HUD 放在其他应用程序窗口上。所以基本上我需要我的应用程序能够以父级身份访问另一个应用程序,然后在其上构建 HUD。 RMagick 有可能吗?如果没有,ruby 中是否还有其他东西可以满足我的需求?

我基本上需要帮助来探索选项,因为与执行此类操作相关的信息似乎很少。因此,如果这涉及到我必须访问特定的 C 库或其他东西,那很好。我只是有点不知道从哪里开始。

编辑:有人可以评论为什么这没有得到任何回应吗?它只是一个独特的要求吗?

【问题讨论】:

    标签: ruby-on-rails ruby image rmagick wxruby


    【解决方案1】:

    您是否尝试在现有应用程序窗口的顶部创建一个覆盖,类似于 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 不会在这方面为您提供帮助,您需要做的将是特定于操作系统的,因此您将不得不涉足本机代码。

    【讨论】:

    • 非常多,这正是我需要的信息。
    猜你喜欢
    • 1970-01-01
    • 2013-11-08
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多