【问题标题】:xna 4 taking desktop screenshotxna 4 截取桌面截图
【发布时间】:2012-05-19 05:07:10
【问题描述】:

我目前正在开发一个新的应用程序,需要一些帮助。

基本上,我需要对在用户桌面上运行的应用程序(不是我的应用程序)进行实时屏幕截图,然后使用阴影扭曲图像并以每秒 60 帧的速度显示包装后的屏幕截图。

我有一个 Windows 窗体应用程序可以执行此操作,但我每秒获得 6 帧,当我将其缩放到 1600x1600 时,它会下降到 2fps。

所以我想如果我可以在 xna 中执行此操作并尽可能多地移动到 GPU 上,它会加快速度。

所以我用谷歌搜索和搜索,找不到任何关于如何在 xna 中获取正在运行的应用程序的屏幕截图的信息,而不是我的 xna 应用程序。

感谢您的帮助。

【问题讨论】:

    标签: xna-4.0


    【解决方案1】:

    您可以使用XNA 或另外使用DWMGDI+ 来获取完整的桌面。以下是一些可以帮助您的链接:

    我认为没有办法获得另一个应用程序的窗口截图。您可以使用一些模式检测代码来找出窗口在哪里,但我不建议这样做。

    【讨论】:

    • 我可以使用 c# 和 GDI+ 作为位图图像来获取桌面,但这真的很慢,然后我不知道如何使用着色器而不是纹理来编辑图像。
    • GDI+ 很慢,我不知道还有什么其他方法...要从位图制作纹理,也许这个链接会有所帮助:How to get a Texture2D from Bitmap Variable?
    猜你喜欢
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2010-12-16
    • 2021-06-28
    相关资源
    最近更新 更多