XNA在运行时在纹理2D上绘制/绘制
早上好(如果你所在的地方是早上) 我一直在环顾四周,没有看到一个令人满意的方法来做这件事,所以我想我会问问周围 理想世界我希望能够生成一个透明的纹理2D对象。将其绘制到屏幕上,我希望能够对其进行“绘制”,即当鼠标左键按下时,光标所在的任何像素都应设置为黑色。接下来,我将需要能够使用这个纹理 使用纹理是很容易的,我们可以简单地为“绘画”对象创建一个新的Texture2D属性,并在SpriteBatch.Draw方法中使用它。这两个棘手的部分是XNA在运行时在纹理2D上绘制/绘制,xna,textures,xna-4.0,texture2d,Xna,Textures,Xna 4.0,Texture2d,早上好(如果你所在的地方是早上) 我一直在环顾四周,没有看到一个令人满意的方法来做这件事,所以我想我会问问周围 理想世界我希望能够生成一个透明的纹理2D对象。将其绘制到屏幕上,我希望能够对其进行“绘制”,即当鼠标左键按下时,光标所在的任何像素都应设置为黑色。接下来,我将需要能够使用这个纹理 使用纹理是很容易的,我们可以简单地为“绘画”对象创建一个新的Texture2D属性,并在SpriteBatch.Draw方法中使用它。这两个棘手的部分是 生成指定大小的texture2D对象,并在代码中填充透
如果有人有这些方面的经验,您将不胜感激。您可以使用
RenderTarget2D
(),它本身就是Texture2D
(因此您可以在SpriteBatch.Draw
中使用它)。这允许您以与在屏幕上渲染相同的方式渲染到纹理上。您需要使用GraphicsDevice.SetRenderTarget
()进行设置
或者可以使用
Texture2D.SetData
()直接操作像素。您可以直接构造透明的纹理2d
)。不要忘记处理您自己创建的任何纹理或其他资源 太棒了,谢谢安德鲁,非常感谢你的帮助!一旦有机会,我会启动VS并做一个模型,我会尽快报告,希望能为其他人提供一些示例代码。如果你不介意的话,我碰巧非常仔细地讨论了这个问题