我已经阅读了很多关于在Unity3D中截取屏幕截图的例子,但他们都解释了#34;游戏中"截图。我想在桌面上截取应用程序窗口的屏幕截图,并将其作为纹理绘制到GameObject上。
知道我怎么能这样做吗?我只使用过Unity3D几次,所以如果有可能,我会很感激,以及如何实现这一目标。
我知道我可以编写一些常规的C#应用程序来capture the outputs of windows来提交和读取Unity3D中的图像。但是,我宁愿不写入磁盘。
目前,我所能做的就是在游戏中获得#34;截图...
void LateUpdate()
{
//I know that I could load an image from file here...
Texture2D tex = new Texture2D(Screen.width, Screen.height);
tex.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
tex.Apply();
display.material.mainTexture = tex;
}
答案 0 :(得分:0)
我认为你应该使用DLL 看看at this SO answer。
他解释了如何在Visual C#中捕获Window句柄。我想你可以找到一个桌面句柄(在Win7 +上)并捕获它,然后使用你的DLL将它发送到统一。