C# 如何在xna中加载比4096*4096更大的纹理?

C# 如何在xna中加载比4096*4096更大的纹理?,c#,xna,textures,loading,C#,Xna,Textures,Loading,我想使用Texture2D.FromStream(…)将瓷砖集加载到xna中,这些瓷砖集大于4096*4096,并且有很多,因此我不想手动裁剪每个瓷砖集 我可以加载它们吗? 如果没有,是否可以部分加载纹理?您无法在XNA中加载纹理的最大大小。最好是使用System.Drawing.bitmap将其加载为位图,并将其调整为位图大小,然后将其加载为纹理 我不相信你能。一个可能的解决方案是将大图像分割成更小的块,并分别加载它们。您能编写一个示例代码吗?在这种情况下,我通常不使用位图。实际上,我只记得当

我想使用
Texture2D.FromStream(…)
将瓷砖集加载到xna中,这些瓷砖集大于4096*4096,并且有很多,因此我不想手动裁剪每个瓷砖集

我可以加载它们吗?
如果没有,是否可以部分加载纹理?

您无法在XNA中加载纹理的最大大小。最好是使用System.Drawing.bitmap将其加载为位图,并将其调整为位图大小,然后将其加载为纹理

我不相信你能。一个可能的解决方案是将大图像分割成更小的块,并分别加载它们。您能编写一个示例代码吗?在这种情况下,我通常不使用位图。实际上,我只记得当使用FromStream方法时,我相信它会缩小纹理以适应最大大小。因此,也许你可以加载你的大图像,然后在绘制图像时放大它们。如果这是正确的,我会把它添加到我的答案中。我试过了,它会起作用,但是当我把纹理重新缩放到原来的尺寸时,纹理太难看了。自从我问了这个问题,我已经手动交叉了纹理。这是更简单的方法。