我在使用SharpDX时遇到问题。我转换一个Bitmap,用lockBits方法锁定这些位,然后创建一个DataStream并从中构建一个Texture2D。这似乎工作得很好,没有错误发生。 现在我有以下问题。我想将Texture2D转换回Bitmap。有一个名为Texture2D.ToStream(size,texture2D,stream)的方法但是当我尝试这个时只会发生错误。 任何人都可以帮我解决这个问题吗?转换为Image或WriteableBitmap也没关系。
答案 0 :(得分:0)
我找到了解决方案:
var inputTex2D = Texture2D.FromStream<Texture2D>(device, inputMemoryStream, (int)inputMemoryStream.Length, new ImageLoadInformation()
{
Depth = 1,
FirstMipLevel = 0,
MipLevels = 0,
Usage = ResourceUsage.Default,
BindFlags = BindFlags.ShaderResource,
CpuAccessFlags = CpuAccessFlags.None,
OptionFlags = ResourceOptionFlags.None,
Format = Format.R8G8B8A8_UNorm,
Filter = FilterFlags.None,
MipFilter = FilterFlags.None,
});
我的DirectX版本是11.0