如何将.dds文件加载到PictureBox中?

4
我该如何在C#中加载.dds纹理文件作为图像?谷歌上没有有用的信息。
您能提供更多带有示例的信息,这样我就可以更好地理解它。
3个回答

7
我遇到了同样的问题。这里有一个好的解决方案。
  1. 源代码:http://www.mastropaolo.com/devildotnet/
  2. 从该链接下载版本1.3(页面底部)
  3. 将Devil.NET.dll作为引用添加到您的应用程序中
  4. 使用我提供的代码。

    PictureBox1.Image = DevIL.DevIL.LoadBitmap(DDS_File_Path)

这真的很简单。我们欠DevIL .NET Wrapper的创建者一杯啤酒。

值得注意的是,他的库不太适合并行化;使用 Parallel.ForEach 会导致各种内存访问异常和 LoadBitmap 调用的 null 返回值。尽管如此,这仍然可以节省很多工作... - Domenic

4

我认为简短的回答是你不能。文档表明支持的格式为BMP、GIF、EXIG、JPG、PNG和TIFF。

更新:似乎可以通过谷歌找到一些转换器,可能会对你有所帮助。 此外,正如Wayne建议的那样,看看XNA(如果你还没有)。 Texture2D.FromFile方法似乎可以处理.dds文件,但我自己从未使用过,所以我无法确定它是否符合你的要求...


那么我的问题就变成了:“我如何将.dds文件转换为jpg/png/gif/tiff/bmp?” - Ivan Prodanov

1

你可能想要查看微软的XNA Game Studio SDK,以便将纹理加载到内存中,并可能以System.Drawing.Graphics可用的方式捕获图像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接