如何在XNA中拍攝屏幕截圖?沒有System.Drawing.Graphics.CopyFromScreen
或Win32API可能嗎?如果不可能,是否有任何方法可以將System.Drawing.Bitmap
繪製到遊戲中?在XNA中拍攝屏幕截圖
我想要它將採取屏幕截圖,然後以全屏模式加載遊戲,然後打印屏幕截圖。
謝謝。
如何在XNA中拍攝屏幕截圖?沒有System.Drawing.Graphics.CopyFromScreen
或Win32API可能嗎?如果不可能,是否有任何方法可以將System.Drawing.Bitmap
繪製到遊戲中?在XNA中拍攝屏幕截圖
我想要它將採取屏幕截圖,然後以全屏模式加載遊戲,然後打印屏幕截圖。
謝謝。
http://www.gamedev.net/community/forums/topic.asp?topic_id=537265&whichpage=1�
首先在你的遊戲的LoadContent方法創建一個ResolveTexture2D:
renderTargetTexture = new ResolveTexture2D(
graphics.GraphicsDevice,
graphics.GraphicsDevice.PresentationParameters.BackBufferWidth,
graphics.GraphicsDevice.PresentationParameters.BackBufferHeight, 1,
graphics.GraphicsDevice.PresentationParameters.BackBufferFormat);
然後解決您的Draw方法後緩衝區繪製場景後:
graphics.GraphicsDevice.ResolveBackBuffer(renderTargetTexture);
最後,當您的遊戲在Draw方法中暫停時,使用spritebatch繪製捕獲的後臺緩衝區:
spriteBatch.Draw(renderTargetTexture, Vector2.Zero, Color.White);
如果您希望圖像是灰度圖,您需要編寫像素着色器並在LoadContent中加載效果文件,然後在使用spritebatch繪製紋理之前設置效果。
它不工作,它只是顯示默認的XNA藍色CornflowerBlue屏幕。 – 2009-11-21 12:14:35
問題是你的結局,就我所見,該代碼沒有問題 – Martin 2009-11-24 14:15:01
之後我將如何保存此屏幕截圖? – 2011-12-24 11:08:36
想要在遊戲加載之前截取系統*的截圖,或者在遊戲運行時截取遊戲截圖? – 2009-11-25 16:38:12
遊戲加載前系統的截圖 – 2009-11-25 19:51:06