0

我尝试使用渲染目标在屏幕上绘制图像。我使用了这段代码:

 _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);

但是,结果图像总是黑色的!你能帮我改变这张图片的颜色吗?谢谢。

4

1 回答 1

0

从显示的代码来看,_spriteBatch.Draw只是将内容呈现到_renderTarget.

接下来,您需要将结果渲染RenderTarget2D到屏幕上以便您可以看到它。

你已经有了_graphicsDevice.SetRenderTarget(null)。然后,您只需要SpriteBatch.Draw在您的_renderTarget.

您可以这样做,因为RenderTarget2D扩展了 Texture2D。

于 2014-03-13T07:46:13.943 回答