SharpDX - System.Drawing互操作性

cla*_*amp 6 .net c# directx-11 sharpdx

是否可以使用默认的.net绘制方法(System.Drawing方法)绘制到SharpDX Texture2D对象的东西,以便我可以将其显示为纹理?最好使用SharpDX Toolkit.

如果有,怎么样?

编辑:我到目前为止所尝试的内容:

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();
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 6

  b.Save(ms, System.Drawing.Imaging.ImageFormat.Png);    
  Texture2D tex = Texture2D.Load(g.device, ms); 
Run Code Online (Sandbox Code Playgroud)

Save()调用使内存流位于流的末尾.哪个会混淆Load()方法,它无法从流中读取任何数据.您必须明确地回滚流.在两行代码之间插入此语句:

  ms.Position = 0;
Run Code Online (Sandbox Code Playgroud)