我很难在 MonoGame 中保存屏幕截图。每次我保存屏幕截图时,它都会变得一团糟,就像您不订阅付费频道时的样子。就像搞乱 VHS 磁带上的跟踪一样。我现在知道发生了什么。我创建了一个全新的项目,只是为了看看它是我的项目还是 MonoGame。它与新项目完美配合。我知道没有人能知道我到底做错了什么,但谁能告诉我为什么会发生这样的事情?我应该看看我的相机课吗?或者,关于文件保存的某些事情可能会变得一团糟?我很茫然,今天我有一个游戏归功于微软,我显然已经错过了那个截止日期。以下是我的保存截图方法:
async void ScreenShot()
{
RenderTarget2D renderTarget = new RenderTarget2D(
_graphics.GraphicsDevice,
_graphics.GraphicsDevice.PresentationParameters.BackBufferWidth,
_graphics.GraphicsDevice.PresentationParameters.BackBufferHeight);
_graphics.GraphicsDevice.SetRenderTarget(renderTarget);
Draw(new GameTime());
_graphics.GraphicsDevice.SetRenderTarget(null);
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
Stream stream = null;
if (storageFolder != null) stream = await storageFolder.OpenStreamForWriteAsync("testing.jpg", CreationCollisionOption.ReplaceExisting);
if (stream != null)
{
renderTarget.SaveAsJpeg(stream, renderTarget.Width, renderTarget.Height);
}
stream.Dispose();
}