2012-05-18 123 views
0

我目前正在研究一个新的应用程序在工作,我需要一些帮助。xna 4采取桌面屏幕截图

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

我有一个Windows窗体应用程序,这样做,但我得到每秒6帧,当我扩大到1600x1600它下降到2fps。

所以我认为,如果我能在xna中做到这一点,并尽可能多地移动到GPU,它会加快速度。

所以我GOOGLE和谷歌搜索和无法找到任何信息如何得到一个正在运行的应用程序在xna比我的XNA应用程序以外的屏幕截图。

感谢您的任何帮助。

回答

1

您可以使用XNA或加上DWMGDI+来获得完整桌面。这里有一些链接,可以帮助你:

我觉得没有办法让一个窗口截图另一个应用。你可以使用一些模式检测代码来找出窗口的位置,但我不建议这样做。

+0

我可以使用c#和GDI +作为位图图像获取桌面,但这非常慢,然后我不知道如何使用着色器编辑图像,而不用纹理。 –

+1

GDI +很慢,我不知道任何其他方式...为了使位图纹理,也许这个链接将帮助:[如何从位图变量获取Texture2D?](http://forums.create.msdn.com /forums/p/3051/15056.aspx) – pearcoding