我尝试使用渲染目标在屏幕上绘制图像。 我用了这段代码:
_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);
但是,结果图像总是黑色的! 你能帮我改变一下这张图片的颜色吗? 感谢。
答案 0 :(得分:0)
根据显示的代码,_spriteBatch.Draw
仅将内容呈现为_renderTarget
。
接下来,您需要将生成的RenderTarget2D
呈现给您的屏幕,以便您可以看到它。
您已经有_graphicsDevice.SetRenderTarget(null)
了。然后,您只需要在SpriteBatch.Draw
中进行单独的_renderTarget
来电。
您可以这样做,因为RenderTarget2D扩展了Texture2D。