1

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

4

1 回答 1

-1

我找到了一个解决方案:

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

于 2012-11-07T18:26:04.270 回答