我尝试用渲染目标在屏幕上绘制一个图像。我使用了以下代码:
_renderTarget = new RenderTarget2D(
this._graphicsDevice,
this._graphicsDevice.PresentationParameters.BackBufferWidth,
this._graphicsDevice.PresentationParameters.BackBufferHeight,
false,
this._graphicsDevice.PresentationParameters.BackBufferFormat,
DepthFormat.None, 0, RenderTargetUsage.PreserveContents);
_graphicsDevice.SetRenderTarget(_renderTarget);
_spriteBatch.Begin();
_spriteBatch.Draw(texture, drawPoint, null, Color.Red, 0.0f
, new Vector2(texture.Width / 2, texture.Height / 2), 0.5f, SpriteEffects.None, 0 .0f);
_spriteBatch.End();
_graphicsDevice.SetRenderTarget(null);但是,结果图像总是黑色的!你能帮我换一下这张图片的颜色吗?谢谢。
发布于 2014-03-13 15:46:14
从显示的代码可以看出,_spriteBatch.Draw仅向_renderTarget呈现内容。
接下来,您需要将生成的RenderTarget2D呈现到屏幕上,以便您可以看到它。
您已经有了_graphicsDevice.SetRenderTarget(null)。然后,您只需在您的_renderTarget中传递一个单独的SpriteBatch.Draw调用。
您可以这样做,因为RenderTarget2D扩展了Texture2D。
https://stackoverflow.com/questions/22358787
复制相似问题