如何在《一夫一妻》中制作屏幕截图

本文关键字:屏幕截图 一夫一妻 | 更新日期: 2023-09-27 18:10:19

所以我一直在尝试从当前游戏窗口(本质上是截图)创建图像文件,但到目前为止我所尝试的只是不起作用。RenderTarget2D.SaveAsPng()RenderTarget2D.SaveAsJpeg()方法还没有被MonoGame开发人员用于Windows…

所以我想知道,有没有别的选择?

下面是一个示例代码,当运行时,抛出NotImplemented错误,对于任何好奇的人:

Stream stream = new FileStream("screenshot.jpg", FileMode.Create, FileAccess.Write, FileShare.None);
screenshot.SaveAsJpeg(stream, 320, 180);
stream.Close();

变量screenshot是绘制游戏屏幕的RenderTarget2D对象。

谢谢你的阅读,我希望得到一些帮助。

如何在《一夫一妻》中制作屏幕截图

SaveAsJpeg定义为:

public void SaveAsJpeg(Stream stream, int width, int height)
{
#if WINDOWS_STOREAPP
    SaveAsImage(BitmapEncoder.JpegEncoderId, stream, width, height);
#elif WINDOWS_PHONE
    var pixelData = new byte[Width * Height * GraphicsExtensions.Size(Format)];
    GetData(pixelData);
    var waitEvent = new ManualResetEventSlim(false);
    Deployment.Current.Dispatcher.BeginInvoke(() =>
    {
        var bitmap = new WriteableBitmap(width, height);
        System.Buffer.BlockCopy(pixelData, 0, bitmap.Pixels, 0, pixelData.Length);
        bitmap.SaveJpeg(stream, width, height, 0, 100);
        waitEvent.Set();
    });
    waitEvent.Wait();
#elif MONOMAC
    SaveAsImage(stream, width, height, ImageFormat.Jpeg);
#else
    throw new NotImplementedException();
#endif
}

#define WINDOWS_STOREAPP