【发布时间】:2014-02-26 13:54:55
【问题描述】:
我目前正在使用一段代码尝试在 XNA 中截取当前屏幕的屏幕截图。我已经在 VB.NET 中编写了代码。这是:
Public Sub SaveScore()
Dim screenshottexture As RenderTarget2D = New RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, False, SurfaceFormat.Color, Nothing)
GraphicsDevice.SetRenderTarget(screenshottexture)
GraphicsDevice.SetRenderTarget(Nothing)
Using stream As New MemoryStream()
screenshottexture.SaveAsJpeg(stream, screenshottexture.Width, screenshottexture.Height)
stream.Position = 0
Dim media As New MediaLibrary()
media.SavePicture("screenshot.jpg", stream)
End Using
screenshottaken = True
screenshottexture.Dispose()
但是,尽管此代码将图片保存到我保存的图片相册中,但它只是显示为紫色屏幕。谁能看到我做错了什么?
【问题讨论】:
-
在将
rendertarget设置为nothing之前尝试强制游戏进行绘制。
标签: c# vb.net windows-phone-7 windows-phone-8 xna