SharpDX Texture2D到Bitmap

时间:2012-10-23 20:02:37

标签: c# bitmap texture2d sharpdx

我在使用SharpDX时遇到问题。我转换一个Bitmap,用lockBits方法锁定这些位,然后创建一个DataStream并从中构建一个Texture2D。这似乎工作得很好,没有错误发生。 现在我有以下问题。我想将Texture2D转换回Bitmap。有一个名为Texture2D.ToStream(size,texture2D,stream)的方法但是当我尝试这个时只会发生错误。 任何人都可以帮我解决这个问题吗?转换为Image或WriteableBitmap也没关系。

1 个答案:

答案 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