是否可以将使用默认 .net 绘制方法(System.Drawing 方法)绘制的内容绘制到 SharpDX Texture2D 对象,以便我可以将其显示为纹理? 最好使用 SharpDX 工具包。
如果是,怎么办?
编辑:到目前为止我在尝试什么:
Bitmap b = new Bitmap(100,100);
MemoryStream ms = new MemoryStream();
b.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
Texture2D tex = Texture2D.Load(g.device, ms); // crashing here
ms.Close();
最佳答案
b.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
Texture2D tex = Texture2D.Load(g.device, ms);
Save() 调用使内存流位于流的末尾。这会混淆 Load() 方法,它无法从流中读取任何数据。您必须明确地倒回流。在两行代码之间插入此语句:
ms.Position = 0;
关于c# - SharpDX - System.Drawing 互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427275/